簡體   English   中英

在Android / PhoneGap上運行的jQueryMobile拒絕.load / .ajax

[英]jQueryMobile running on Android / PhoneGap refuses .load / .ajax

我真的很討厭問我之前曾被問過一千次的問題。 這是那些問題,我覺得別人一定都遇到過一個, 已經 搜查 堆棧 溢出 ,沒有任何所謂解決方案,為我工作,所以我必須做一些錯誤的.....

我有一個非常簡單的應用程序設置。 index.htm和terms.htm。 test.htm中有一些文本數據。 我設置$.support.cors = true; $.mobile.allowCrossDomainPages = true; 在東西加載后的適當時間。

起初我嘗試使用$('#elementid').load('terms.htm');將terms.htm的數據加載到索引中的元素$('#elementid').load('terms.htm'); (測試和索引都在相同的root / assets / www /目錄中,我的webview加載索引oncreate)但絕對沒有發生任何事情。 所以我選擇嘗試.ajax,這樣我至少可以得到一條錯誤信息,而我得到的只是'錯誤'。 當然,可以在DroidGap上使用JQ加載本地文本資產嗎?

$('#header').load('terms.htm');
$.ajax({
    type:"GET",
    timeout:10000,
    async: false,
    url: "terms.htm",
    success: function(data) {
        $('#header').html(data);
    },
    error: function(xhr,msg){
           alert( msg);
       }
});

我不是百分百肯定,但我認為這是ICS 4.0.3的一個問題。 在4.0.2 ajax似乎工作得很好,但對我來說也是4.0.3,沒有ajax。 像你一樣,我已經嘗試了一切,沒有任何效果......

我正在使用PhoneGap btw。 Ajax在標准瀏覽器中運行良好,但在PhoneGap應用程序中沒有。

如果您在Chrome中運行應用程序那么您需要禁用-web-security並啟用加載本地文件請參閱使用PhoneGap的跨域請求並且jQuery不起作用 如果是 Safari或模擬器或Web服務器那么它應該工作

看到這個鏈接 我有同樣的問題,這解決了它。 另外,我認為他們在1.6.0中修復了它,但我現在在iOS上看到了與PhoneGap 1.6.1相同的問題。

這只是一個很長的鏡頭,但你說“ 我設置$ .support.cors = true;和$ .mobile.allowCrossDomainPages = true;在填充內容后的適當時間。 jQuery移動文檔說你必須加載JQM 之前設置全局配置

由於mobileinit事件是立即觸發的,因此您需要在加載jQuery Mobile之前綁定事件處理程序。 按以下順序鏈接到JavaScript文件:

<script src="jquery.js"></script>
<script src="custom-scripting.js"></script>
<script src="jquery-mobile.js"></script>

在你的情況下,這將是:

<script src="jquery.js"></script>
<script>
    $(document).bind("mobileinit", function(){
        $.support.cors = true;
        $.mobile.allowCrossDomainPages = true;
    });
</script>
<script src="jquery-mobile.js"></script>

就像我說的,只是一個猜測......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM