2015-11-03 48 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