window.location.href无法在phonegap中使用

时间:2012-10-15 06:19:08

标签: ios cordova

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

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

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

有人可以告诉它为什么不起作用吗?

7 个答案:

答案 0 :(得分:1)

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

您必须使用allow-navigation标记,如下所示:

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

答案 1 :(得分:0)

尝试执行以下操作:

  • 打开文件Cordova.plist文件

  • 右键点击ExternalHosts - &gt; Add Row

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

所以,你应该像这样添加新的行:

Item0            String          *

通常情况下,您应该将*替换为您要提供访问权限的外部网址(例如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>

让我知道这是否有效。

答案 2 :(得分:0)

很可能是您要转移到的页面。该页面中是否有phongap.js文件等?

尝试一个简单的测试:创建一个新的HTML页面,其中只包含基本元素和正文中的几个单词,这样您就知道自己就在那里。将其另存为test.html。现在尝试window.location =“test.html”。

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

答案 3 :(得分:0)

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

看看这里:Correct way of using JQuery-Mobile/Phonegap together?

答案 4 :(得分:0)

使用Cordova 4为我工作正常。您可以尝试使用谷歌浏览器进行远程调试,看看Javascript控制台中发生了什么?

答案 5 :(得分:0)

尝试不使用href

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

答案 6 :(得分:0)

如果您使用window.locationwindow.location.href,则它不会在IOS或safrai中使用。

你可以用这个:

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);
}