我測試了我的應用程序在OS6和OS7設備上,都運行良好。但是幾天前,我在OS5設備上遇到了一個問題。所有的Ajax請求都不起作用。谷歌搜索後,我發現在OS5中,ajax被禁用。這太奇怪了,我的應用程序必須在OS5設備上工作,但我無法進行Ajax調用。Phonegap Blackberry 5跨域通信
爲了解決這個問題,我搜索了舊的跨域方法,並找到了「動態腳本」和「IFrame」方法。這裏是一個文章描述他們:
http://www.openjs.com/articles/ajax/transfer_methods_xmlhttprequest_alternatives.php
但我不知道非XMLHttpRequest的或非ActiveX方法的例子。有沒有人有關於這些方法的實例?我有一個服務器上的jsp文件發送給我一個XML響應。
一個工作示例會讓我如此感激。
在此先感謝。
[編輯]
我決定使用iframe交叉側的通信,但是無法得到的iFrame的內容,我的代碼是這樣的:
function onIFrameLoad(i) {
var response;
if(i.contentDocument){
response = i.contentDocument; // For NS6
}else if(i.contentWindow){
response = i.contentWindow.document; // For IE5.5 and IE6
}
var parser = new PListParser();
var result = parser.parsePList(response);
....
}
和
<iframe id="iFrame" onload="onIFrameLoad(this);" src="[a url]"></iframe>
這在波紋模擬器中運行良好,但不適用於真實設備(os5)。