2015-11-03 68 views
0

我有一個web項目,它可以在網上找到。我想將其轉移到phonegap windows手機項目中。 一切工作正常,但在搜索選項中,只要我點擊搜索選項,它不顯示任何消息顯示「我們有麻煩顯示此消息」。 N:B:此搜索選項在網絡中正常工作。 這裏是我的搜索代碼:javascript在科爾多瓦項目中不起作用

<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script> 
<script src="js/materialize.min.js"></script> 
<script src="js/init.js"></script> 
<script> 
    var c=getCatalogue(); 
    var bestNew=getBestNew(); 

    $("#recherche").click(function(){ 
     var v=$("#search").val(); 
     window.localStorage.setItem("search",v); 
     if(v!="") routePage("recherche.html?search="+v); 
    });  
</script> 

我認爲問題是,當我的值傳遞給另一頁是「搜索=」 + V」 當我用if(v!="") routePage("recherche.html);代替if(v!="") routePage("recherche.html?search="+v);然後它

回答

0

嘗試下載並使用JavaScript導入本地而不是獲取遠程的版本,如果不是絕對必要的

參見: <script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>

phonegap.js應包括: <script type="text/javascript" src="phonegap.js"></script>

+0

我已經試過這個,但問題是一樣的。 @ t.spetebroot – kkkk

+0

@kkkk你在初始化腳本中調用'app.initialize()'嗎? (./init.js) –

+0

它在web版本中運行良好。當我使用本地jquery-2.1.1.min.js時,它不顯示錯誤,但不顯示任何內容。 – kkkk

0

您需要對jQuery源移動到本地文件並更新腳本標籤,就像你有materialize.min.js。從網絡加載庫JS並不是一個好主意,因爲它會降低應用程序的啓動速度,並且在無法訪問網絡的情況下啓動時會導致啓動失敗。

此外科爾多瓦/ PhoneGap的的Content Security Policy可能會阻止遠程腳本加載出於安全原因 - 你不說出你所使用的的PhoneGap /科爾多瓦版本,但是這可能是在科爾多瓦5.你的問題有一個教程處理與那here。你可以通過調整內容安全策略meta標籤來配置,以允許script-src不是「self」,但我不會推薦這個。

在Cordova/PhoneGap中運行時,您應該在嘗試執行任何操作之前等待"deviceready" event,以確保框架已完全初始化並且您可以訪問插件。

此外,您不應該加載新頁面,而應該構建應用程序,以便它是單頁面應用程序,並根據需要從模板生成頁面片段。除非您有其他首選解決方案,否則請嘗試查看Handlebars之類的內容。我有一個完整的演示應用程序,使用這種方法,你可以看看here的來源。

+0

我已經使用js/jquery-2.1.1.min.js這個。在這種情況下,沒有錯誤消息,但沒有顯示搜索結果,雖然它在Web版本中正常工作。現在我該怎麼辦? @Simon Prickett – kkkk