我想在InAppBrowser或childbrowser,我在那里不显示任何工具栏,在那里我可以在我的externalpage一个按钮,关闭浏览器并返回到那里我打开浏览器应用程序打开外部网页。 因此,如何关闭时,你不有一个完成按钮? 我已经看到,如果我有变种REF = window.open(是encodeURI(URL), '_self', '位置= YES'); 然后,可以关闭与ref.close)的浏览器(; 但如果我用在我打开它不工作的externalpage,它不是关闭浏览器?
有没有什么办法,如果我已经设置了方向为纵向的配置文件来自动旋转任何人? 我知道,如果你做手工,而不是通过构建服务,您可以自动旋转的孩子浏览器。 还是我必须设置取向两者兼而有之?
我已经测试了各种不同的方式来打开ChildBrowser和InAppBrowser,我真的不能看到他们之间有任何大的差别? 在InAppBrowser可以使用本机的功能诡计的ChildBrowser不能或?
Answer 1:
OK,问题1,关闭就解决了。 这是我使用的InAppBrowser打开外部网页。 从我在InAppBrowser加载页面,我可以关闭InAppBrowser本身,从那里我打开浏览器返回到我的应用程序。
在服务器上创建一个页面 - closeInAppBrowser.html这只是一个空的HTML页面时,它doesn't做任何事
我打开浏览器这样的:
<a href="#" onclick="openInAppBrowserBlank('http://www.mypage.asp?userId=1');">open InAppBrowser</a>
var ref = null;
function openInAppBrowserBlank(url)
{
try {
ref = window.open(encodeURI(url),'_blank','location=no'); //encode is needed if you want to send a variable with your link if not you can use ref = window.open(url,'_blank','location=no');
ref.addEventListener('loadstop', LoadStop);
ref.addEventListener('exit', Close);
}
catch (err)
{
alert(err);
}
}
function LoadStop(event) {
if(event.url == "http://www.mypage.com/closeInAppBrowser.html"){
// alert("fun load stop runs");
ref.close();
}
}
function Close(event) {
ref.removeEventListener('loadstop', LoadStop);
ref.removeEventListener('exit', Close);
}
(以及从我在浏览器中打开的页面关闭InAppBrowser ://www.mypage.asp HTTP ),我有一个这样的按钮链接。
<a href="http://www.mypage.com/closeInAppBrowser.html"></a>
我希望它可以帮助别人!
Answer 2:
这里有一个简单的解决方案,可以帮助别人。
// open win and turn off location
var ref = window.open('http://myloginapp.com', '_blank', 'location=no');
// attach listener to loadstart
ref.addEventListener('loadstart', function(event) {
var urlSuccessPage = "http://myloginapp/success/";
if (event.url == urlSuccessPage) {
ref.close();
}
});
文章来源: Phonegap build - Open external page in InAppBrowser or childbrowser with no toolbar and close it?