我有一个可以在网络上找到的网络项目。我想把它转移到phonegap windows phone项目中。 一切正常,但在搜索选项中,每当我点击搜索选项时,它都不会显示任何消息“我们无法显示此消息”。 N:B:此搜索选项在网络中正常运行。 这是我的搜索代码:
<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>
我认为问题是当我将值传递给另一个“search =”+ v“的页面时。
当我使用if(v!="") routePage("recherche.html);
代替if(v!="") routePage("recherche.html?search="+v);
时,它可以正常工作。
答案 0 :(得分: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>
答案 1 :(得分:0)
您需要将JQuery源移动到本地文件并更新脚本标记,就像使用materialize.min.js一样。从网络加载库JS不是一个好主意,因为它会降低应用程序的启动速度,并且在没有网络访问的情况下启动时也会导致它失败。
此外Cordova / PhoneGap的Content Security Policy可能出于安全原因阻止远程脚本加载 - 您没有说明您正在使用哪个PhoneGap / Cordova版本,但这对您来说可能是一个问题在Cordova 5.有一个关于处理here的教程。您可以通过调整内容安全策略元标记来配置,以允许脚本src来自&#34; self&#34;但我不推荐这个。
在Cordova / PhoneGap中运行时,您还应该在尝试执行任何操作之前等待"deviceready" event,以确保框架已完全初始化并且您可以访问调用插件。
此外,您应该构建应用程序,而不是加载新页面,以便它是单页面应用程序,并根据需要从模板生成页面片段。除非您有其他首选解决方案,否则请尝试查看Handlebars之类的内容。我有一个完整的演示应用程序,使用这种方法,您可以查看here的源代码。