0

我想重定向到 Phonegap 中的另一个页面。

我在 javascript 中编写了以下代码,但它没有被重定向:

window.location.href = "http://www.google.com";

谁能告诉它为什么不起作用?

4

7 回答 7

1

您必须通过配置白名单来允许在应用程序内导航外部站点。

你必须使用allow-navigation这样的标签:

<allow-navigation href="http://www.google.com/*" />

于 2018-06-06T12:15:53.880 回答
0

你检查过你的框架初始化了吗?在尝试更改页面之前,请确保 jquery 和 phonegap 已完全加载。否则 phonegap 会挂起并中断。

看看这里:一起使用 JQuery-Mobile/Phonegap 的正确方法?

于 2013-07-08T17:42:18.817 回答
0

尝试不使用href

window.location = "http://www.google.com";
于 2015-03-17T13:53:14.793 回答
0

尝试执行以下操作:

  • 打开你的文件Cordova.plist文件

  • 右键单击ExternalHosts->Add Row

  • String新添加的行的值设置为*

因此,您应该有这样的新添加行:

Item0            String          *

通常,您应该替换*为您想要提供访问权限的外部 URL(http://www.google.com例如),但我曾经*确保问题是否来自那里。

有关更多信息,请查看在线文档的“域白名单指南”部分:http: //docs.phonegap.com/en/2.1.0/guide_whitelist_index.md.html#Domain%20Whitelist%20Guide


这是一个简单的工作示例,使用window.location.href

<!DOCTYPE html>
<html>
    <head>               
        <script type="text/javascript" charset="utf-8">
            function init() {
                window.location.href = "http://www.google.com";
            }      
        </script>
    </head>

    <body onload="init();">
    </body>                

</html>

让我知道这个是否奏效。

于 2012-10-15T07:06:41.987 回答
0

很可能是您要移动到的页面。该页面是否包含 phongap.js 文件等?

尝试一个简单的测试:创建一个新的 HTML 页面,其中只有基本元素和正文中的几个单词,这样你就知道你在那里了。将其保存为 test.html。现在试试 window.location="test.html"。

如果这有效,那么您就知道这是新页面中的内容。祝你好运!

于 2013-04-16T17:43:37.403 回答
0

使用 Cordova 4 对我来说工作得很好。您可以尝试使用 Google Chrome 进行远程调试并查看 Javascript 控制台中发生的情况吗?

于 2015-01-05T20:25:16.323 回答
0

如果您使用 like window.locationorwindow.location.href并且它在 IOS 或 safari 中仍然不起作用。

你可以使用这个:

var isAndroid = !!navigator.userAgent.match(/android/ig);
        var targetUrl = 'your url';
        window.location = targetUrl;

if(!isAndroid) {
    var doc = window.document,
        ifr = doc.createElement('iframe');
    ifr.src = targetUrl;
    ifr.style.cssText = 'display:none;';
    doc.body.appendChild(ifr);
}
于 2017-04-10T04:57:03.290 回答