PhoneGap App在页面加载时加载外部浏览器

时间:2012-10-13 18:32:42

标签: jquery cordova phonegap-plugins

我正在为一个机器人创建一个简单的包装器,它将显示闪存,然后启动到该网站的移动版本。

我尝试了各种组合,到目前为止,以下效果最佳:

<!doctype html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width" />
<title>My App</title>
<link rel="stylesheet" href="assets/css/master.css" type="text/css" media="screen" />
<script src="phonegap.js" type="text/javascript" charset="utf-8"></script>
<script src="cordova-2.1.0.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8" src="json2.js"></script>
<script src="childbrowser.js" type="text/javascript" charset="utf-8"></script>
<script src="assets/js/dsl.js" type="text/javascript" charset="utf-8"></script>
<script src="assets/js/xui.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">

function init(){
document.addEventListener("deviceready", onDeviceReady, false);
}

function externalLoad() 
{ 
window.location.href = "http://myapp.com"; //works
}

function locationChanged(newurl) {
console.log("The JS got this url = " + newurl);
}

function closed() {
console.log("The JS got a close event");
}
function showPage(locbar) {
window.plugins.childBrowser.onLocationChange = locationChanged;
window.plugins.childBrowser.onClose = closed;
window.plugins.childBrowser.showWebPage("http://myapp.com", {
showLocationBar: locbar
});
}
 function openExternal() {
 window.plugins.childBrowser.openExternal("http://myapp.com");
}

</script>       

</head>
<body onLoad="externalLoad();">
<button onClick="externalLoad() ;">Load Deals</button> <br>
</body>
</html>

除非在应用网页视图中打开应用,我无法访问我需要的设备浏览器Cookie。

我尝试过使用childbrowser插件,效果很好但是在加载页面时我无法启动它。如果点击链接,它就会完美无缺。

我必须遗漏一些东西,因为这看起来应该相当容易。

任何有关正确方向的建议或帮助都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

“本机”与“真实”cookie可以不同方式实现。解决方法是打开一个特殊页面,其中包含参数中的cookie值。这将cookie设置在真实的浏览器中并重定向到主页(或任何需要的地方)。这是一项工作,但保证在所有条件下都能正常工作。