javascript在科尔多瓦项目中不起作用
我有一个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);
然后它
尝试下载并使用JavaScript导入本地而不是获取远程的版本,如果不是绝对必要的
参见: <script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
也phonegap.js
应包括: <script type="text/javascript" src="phonegap.js"></script>
您需要对jQuery源移动到本地文件并更新脚本标签,就像你有materialize.min.js。从网络加载库JS并不是一个好主意,因为它会降低应用程序的启动速度,并且在无法访问网络的情况下启动时会导致启动失败。
此外科尔多瓦/ PhoneGap的的Content Security Policy可能会阻止远程脚本加载出于安全原因 - 你不说出你所使用的的PhoneGap /科尔多瓦版本,但是这可能是在科尔多瓦5.你的问题有一个教程处理与那here。你可以通过调整内容安全策略meta标签来配置,以允许script-src不是“self”,但我不会推荐这个。
在Cordova/PhoneGap中运行时,您应该在尝试执行任何操作之前等待"deviceready" event,以确保框架已完全初始化并且您可以访问插件。
此外,您不应该加载新页面,而应该构建应用程序,以便它是单页面应用程序,并根据需要从模板生成页面片段。除非您有其他首选解决方案,否则请尝试查看Handlebars之类的内容。我有一个完整的演示应用程序,使用这种方法,你可以看看here的来源。
我已经使用js/jquery-2.1.1.min.js这个。在这种情况下,没有错误消息,但没有显示搜索结果,虽然它在Web版本中正常工作。现在我该怎么办? @Simon Prickett – kkkk
我已经试过这个,但问题是一样的。 @ t.spetebroot – kkkk
@kkkk你在初始化脚本中调用'app.initialize()'吗? (./init.js) –
它在web版本中运行良好。当我使用本地jquery-2.1.1.min.js时,它不显示错误,但不显示任何内容。 – kkkk