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

Posted

技术标签:

【中文标题】PhoneGap App 在页面加载时加载内部浏览器【英文标题】:PhoneGap App Load Enternal Browser on Page load 【发布时间】:2012-10-13 18:32:41 【问题描述】:

我正在使用 PHonegap 构建服务为一个将显示 flash 的机器人创建一个简单的包装器,然后启动到该网站的移动版本。

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

<!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>

上述方法效果很好,只是它在应用程序 Web 视图中打开了应用程序,并且我无法访问我需要的设备浏览器 cookie。

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

我一定遗漏了什么,因为这看起来应该很容易做到。

我们将不胜感激任何正确方向的建议或帮助。

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于PhoneGap App 在页面加载时加载内部浏览器的主要内容,如果未能解决你的问题,请参考以下文章

在本地浏览器中使用 ajax 加载 JSON,但在 PhoneGap 应用程序中不可用

PhoneGap如何使用一页应用刷新/重新加载页面

列表视图在 jQuery mobile/phonegap 中初始时未加载

在启动时加载外部链接的 Phonegap 应用程序 - Android

phonegap/iOS 外部图像间歇性地不加载/显示

加载太多javascript时android phonegap应用程序失败