MozTW 討論區

各項 Mozilla 相關軟體與技術討論
現在的時間是 2025-08-22, 19:46

所有顯示的時間為 UTC + 8 小時





發表新文章 回覆主題  [ 6 篇文章 ] 
發表人 內容
文章發表於 : 2007-08-12, 14:38 
離線

註冊時間: 2005-08-29, 15:40
文章: 236
例如有一個Method是JavaScript 1.6版之後才建立的
裝了外掛(在網頁中插入.js檔)後
可以讓JavaScript 1.5版以下的JS引擎看得懂這個Method
有人作過這種東西嗎?

我想嘗試看看
我想這樣的程式應該很有用吧 :D
不知道大家覺得如何?


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2007-08-12, 22:19 
離線
[網站管理員]
頭像

註冊時間: 2004-09-27, 09:24
文章: 1685
能否舉個例子?像 Array.pop / push 這種古老的方法還有 Array.forEach / map / filter 這種新興的方法都可以用 prototype 這個屬性來模擬。
Prototype 這個 js lib 就是因為靠 prototype 這個屬性擴充了不少原生的 JS 物件,所以才取名為 Prototype。

push 舉例:
代碼:
Array.prototype.push = function() {
  for (i = 0; i < arguments.length; i++) {
    this[this.length] = arguments[i];
  }
  return this[this.length - 1];
}

像我是覺得 push 是不需要模擬啦,什麼年代了還在支援 IE 5.5,倒不如不要支援,逼使用者至少用 IE 6 或 Firefox。至於模擬 JS 1.6 或 1.7 新增的 method 倒是滿值得的,不過有些還是無法模擬,像 yield 或 array comprehension 這種 language construct 就不能。

_________________
korp + korp 中文站(沒精神更新)


回頂端
Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2007-08-12, 22:48 
離線

註冊時間: 2005-08-29, 15:40
文章: 236
[quote="kourge"][/quote]

這就是我要的 :D
利用物件的prototype屬性
來解決版本和瀏覽器相容性

這應該是提高相容性最好的方法吧

怎麼phpbb會隨便建一個函式來處理呢??
難道phpbb是很古老的東西?


http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:indexOf#Compatibility

SpiderMonkey也是用同樣的技術來擴充新版的Javascript
如果把這些原始碼寫在網頁裡
IE也可以支援Javascript 1.6以上的版本
moztw不打算這樣作嗎?


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2007-08-13, 07:22 
離線
[網站管理員]
頭像

註冊時間: 2004-09-27, 09:24
文章: 1685
主要是 phpBB 本身的 JS 太噁心,我甚至有點想把整個討論區給轉移到 Drupal,不過下載過 phpBB 3,發現 JS 好太多了(只是 coding style 還有不用現有的 js lib 我還是無法接受)。

重點是當初 subBlue 的人寫這些 JS 的時候根本就是網路的黑暗時期,寫 JS 剪剪貼貼、用 eval、原生陣列不可靠、沒有標準的 DOM method、等等。

另外 SpiderMonkey 並不是靠 prototype 來擴充成 JS 1.6 或 1.7,而是直接從 C 原始碼開刀,DevMo 上面舉的 indexOf 這個例子所指的是 indexOf 的演算法,實際上如果把 SpiderMonkey 用 C 所寫出來的原生實作,跟利用 JS 的 prototype 所寫擴充性實作,兩者的效能落差很多。並非 prototype 的效能不好(實際應用是可以的),而是 C implementation 快太多了。

_________________
korp + korp 中文站(沒精神更新)


回頂端
Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2007-08-13, 14:49 
離線

註冊時間: 2005-08-29, 15:40
文章: 236
kourge 寫:
主要是 phpBB 本身的 JS 太噁心,我甚至有點想把整個討論區給轉移到 Drupal,不過下載過 phpBB 3,發現 JS 好太多了(只是 coding style 還有不用現有的 js lib 我還是無法接受)。


升級之後有沒有可能解決論壇中rss和圖片的問題
這兩個功能當初不是好好的嗎? 怎麼會壞掉

其實我覺得升級比較好
這論壇會用到比較多JS的地方應該只有發文時插入代碼
要改的話應該沒有什麼問題


kourge 寫:
另外 SpiderMonkey 並不是靠 prototype 來擴充成 JS 1.6 或 1.7,而是直接從 C 原始碼開刀,DevMo 上面舉的 indexOf 這個例子所指的是 indexOf 的演算法,實際上如果把 SpiderMonkey 用 C 所寫出來的原生實作,跟利用 JS 的 prototype 所寫擴充性實作,兩者的效能落差很多。並非 prototype 的效能不好(實際應用是可以的),而是 C implementation 快太多了。


瞭解


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2007-08-13, 22:30 
離線
[網站管理員]
頭像

註冊時間: 2004-09-27, 09:24
文章: 1685
RSS 的功能其實是外掛上去的,不是 phpBB 本身內建的,所以才會那麼容易 break :?
然後附件檔案的整個功能又被重度修改過> <"

_________________
korp + korp 中文站(沒精神更新)


回頂端
Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
 個人資料  
引用回覆  
顯示文章 :  排序  
發表新文章 回覆主題  [ 6 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 4 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
Powered by phpBB® Forum Software © phpBB Group
正體中文語系由 竹貓星球 維護製作
© moztw.org, Mozilla Foundation
MozTW,Mozilla 台灣社群