我目前正致力于在IOS中使用JQuery制作phonegap。
来自Phonegap的初始页面是index.html,其他页面是远程服务器中的外部网页,并通过iframe标签查看。
我想在外部网页中打开Phonegap中的InAppBrowser,该网页显示在WebView中。
为此,我在网页上编写了如下源代码,
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
<script type="text/javascript" charset="utf-8" src="cordova-2.5.0.js"></script>
<script type="text/javascript">
function onBodyLoad(){
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady(){
alert(" remote page ready!");
}
}
</script>
<title>Hello World</title>
<script>
function move_temp()
{
window.open("http://www.google.com","_blank","location=no");
}
</script>
</head>
<body onload="onBodyLoad()">
<p> THIS IS REMOTE PAGE!</p>
<a href="javascript:move_temp();">erwjkl</a>
</div>
</div>
</body>
</html>
我在phonegap中的白名单设置为“*”,因此在白名单政策方面应该没有问题。
似乎onDeviceReady函数不会触发。因此,网页不会绑定到使用InAppBrowser模块所需的本机级别。
可能是什么解决方案?
提前致谢:)
答案 0 :(得分:0)
您应该只附加deviceready listener而不是使用onload,并且您的代码还有其他一些问题,例如您如何调用函数来打开远程窗口。您的代码应如下所示:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
<title>Hello World</title>
<script type="text/javascript" charset="utf-8" src="cordova-2.5.0.js"></script>
<script type="text/javascript">
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady(){
alert(" remote page ready!");
}
function move_temp() {
window.open("http://www.google.com","_blank","location=no");
}
</script>
</head>
<body>
<p> THIS IS REMOTE PAGE!</p>
<a href="#" onclick="move_temp()">erwjkl</a>
</body>
</html>