小编Cha*_*naz的帖子

为什么Cordova 2.7.0 JS似乎不再适用于远程页面?

背景

我正在尝试将基于Cordova 2.0 构建的iOS应用程序升级到2.7版.

它基本上是一个欢迎屏幕,指向一个远程搜索引擎(请保留关于应用程序有效性和可能的​​批准的评论,因为我们已经过去),我们使用ChildBrowser插件在子浏览器中启用打开链接,以便不将用户捕获在Cordova webview中.

Cordova 2.7有一个名为InAppBrowser的功能我希望使用而不是ChildBrowser.除了缺少在Safari中打开的按钮之外,InAppBrowser基本上做同样的事情.

问题

现有应用程序的远程网页包括Cordova JS(以及ChildBrowser插件的网页),它可以在子浏览器中打开链接.

我的测试Cordova 2.7应用程序在从远程网页加载时似乎没有正确加载Cordova JS.

我尝试在嵌入式启动页面和远程启动页面上使用这个完全相同的HTML:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <script type="text/javascript" src="http://mydomain.com/mobile/cordova-2.7.0.js"></script>
  </head>
  <body>
    <script>
      document.addEventListener("deviceready", onDeviceReady, false);
      function onDeviceReady() {
        alert("Ready!!");
      }
    </script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

要将此测试作为嵌入式起始页面,我将此行放入config.xml:

<content src="index.html" />
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序时,我立即得到"准备好了!" 警报.

要将其作为远程启动页面进行测试(我的目标是链接到最终应用程序中的远程页面,我只是将其用作测试的起始页面.如果我从嵌入页面链接,结果是相同的.) ,我把这一行放入config.xml:

<content src="http://mydomain.com/mobile/index.php" />
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序时,我只是得到空白屏幕而没有警报.

此外,在cordova-2.7.0.jsL. 6255中,我改变了

console.log('deviceready has not fired after 5 seconds.');
Run Code Online (Sandbox Code Playgroud)

alert('deviceready has not fired after 5 seconds.'); …
Run Code Online (Sandbox Code Playgroud)

javascript ios cordova

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

cordova ×1

ios ×1

javascript ×1