我想重定向到Phonegap中的另一个页面。
我在javascript中编写了以下代码,但没有重定向:
window.location.href = "http://www.google.com";
有人可以告诉它为什么不起作用吗?
答案 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会挂起并中断。
答案 4 :(得分:0)
使用Cordova 4为我工作正常。您可以尝试使用谷歌浏览器进行远程调试,看看Javascript控制台中发生了什么?
答案 5 :(得分:0)
尝试不使用href
:
window.location = "http://www.google.com";
答案 6 :(得分:0)
如果您使用window.location
或window.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);
}