Cordova iOS Javascript 不工作
Posted
技术标签:
【中文标题】Cordova iOS Javascript 不工作【英文标题】:Cordova iOS Javascript not working 【发布时间】:2016-02-11 11:18:49 【问题描述】:我创建了一个 cordova 项目,添加了 ios 平台并构建了该项目。之后,我在 Xcode 中打开 .xcodeproj,构建它,主页显示示例应用程序主屏幕。然后我在 Staging/js 文件夹中创建了另一个具有以下内容的 js 文件
function testLoad()
alert("Loaded!");
在 index.html 中,我添加了
<script type="text/javascript" src="js/myScript.js"></script>
并调用函数
<body onload="testLoad()">
但是没有出现警报!怎么修?我正在使用 xCode 7.2.1 和 Cordova 5.4.1。
【问题讨论】:
我不太清楚你在问什么,我没有找到任何名为 app.js 的文件,我在 Staging/js 文件夹中添加了一个新的 .js 文件 你的html和JS文件在什么位置?是Staging/www/吗? html 在 Staging/ 中,JS 在 Staging/js/ 中。我检查了更改路径没有帮助。 请发布您的完整编码。 dl.dropboxusercontent.com/u/94452798/testProj.zip 【参考方案1】:问题是由于 index.html 中设置的内容安全策略。如https://issues.apache.org/jira/browse/CB-10598 所述,标签应设置为
<meta http-equiv="Content-Security-Policy" content="default-src 'unsafe-inline' 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
【讨论】:
【参考方案2】:如果你的 js 在 Staging/js 中,那么你的脚本应该是
<script type="text/javascript" src="Staging/js/myScript.js"></script>
无论如何,您可以使用 safari 进行调试以查找错误,检查一下。
https://developer.apple.com/safari/tools/
【讨论】:
这没有帮助,默认情况下 index.js 也是这样添加的<script type="text/javascript" src="js/index.js"></script>
好的,然后看看调试器,如果函数不起作用或脚本没有加载会发生什么
在 safari 中,它给出了一系列弹出窗口,说没有应用程序设置为打开 gap://ready,这是由于 (***.com/q/28855486/3169868)
如果在html中添加文字,是否显示?
是的,HTML页面上的文字显示出来了。【参考方案3】:
我已运行您的项目并发现错误。解决错误后,我可以得到警报。
请更改您的以下代码
<script type="text/javascript" src="Staging/js/myScipt.js"></script>
与
<script type="text/javascript" src="js/myScript.js"></script>
如果仍然存在错误/问题,请告诉我。
【讨论】:
不,将其更改为 js/ 没有帮助。我在他们的问题跟踪页面上问过,但到目前为止这没有帮助。 [issues.apache.org/jira/browse/…以上是关于Cordova iOS Javascript 不工作的主要内容,如果未能解决你的问题,请参考以下文章
来自 iOS 4.0.0 中 Native 的 Cordova 插件 Javascript 函数调用
Cordova:无论如何,是不是可以在 Javascript 中检测 iOS 应用程序是作为调试版还是作为发布版构建的?