DSSO (DynamicSwitchScriptObject) 根據資料所得 …
這種方法,不但可以跨域,而且比起 XHR (XML HTTP Request) 可以省去解析 XML 的步驟
而後還寫這文的人還發現 GoogleMap 的 API 就是用這方法
注 : 以下的代碼為轉載而來的
test.html :
1 | <html> |
testa.js :
1 | document.write("This is A"); |
testb.js :
1 | setTimeout(function(){jsArea.innerHTML="This is B,now imagine i'm a servlet";},100) |
[備注] 相關轉載的其他補充資料 :
測試結果表明可以在不刷新頁面的情況下更新jsArea中的內容,如果我們把testb.js換成一個servlet會怎麼樣
那不是可以在serverside直接寫數據或function給client用了嗎,完全不需要XHR來中轉,省去了不少麻煩,而且還可以實現跨域訪問
但是有兩點要注意,testb.js用document.write沒有作用,如果不用setTimeout,會直接讓我的IE7和IE6crush,具體原因不明,有牛人知道請告訴我
目前在FF2.0.0.4/Opera9.2/IE7/IE6下測試通過.
由於找了好久都不知道這種方式的官方名稱,並且很明顯這不Asynchronous JavaScript and XML,這裡連XML和XmlHttp的影子都沒有
所以為了稱呼方便我暫時叫它DSSO(DynamicSwitchScriptObject),當然這不是我發明的,Google不知道用了多久了,如果你知道準確的名字請麻煩告知我
轉載網址 : http://www.blogjava.net/hunteva/archive/2007/06/13/dsso.html