我已经阅读了很多关于此的帖子和文章,但仍然找不到一个好的解决方案。我想:
我使用自定义网址(appURL://)设置了URL_SCHEME插件。该URL直接在浏览器中运行,但不在应用程序内。它似乎只是忽略它并转向其他代码。
现在我已经阅读了有关InAppBrowser和ChildBrowser的内容。我尝试了InAppBrowser,但它没有保留我需要的设置,如appendUserAgent和AllowInlineMediaPlayback。我知道我可以设置后者,但没有找到前者的方法。我还想确保它只保留在横向中,并且不希望有两个不同的位置进行配置设置。即使没有它,我仍然无法将其链接回应用程序。
如果没有浏览器插件,没有办法从外部网站链接回本地应用程序,或者如果没有,如何使用浏览器插件使其运行良好?我完全控制了外部网站。
我正在测试的主要设备是iOS 9.2.1上的iPhone 6,我正在使用PhoneGap Build。
答案 0 :(得分:1)
我认为不可能做我现在提出的问题,但如果你把它保留在本地,你可以做类似的事情,并有更大的灵活性。最好的办法是在本地页面中加载您需要的内容。就我而言,我需要整个网站,包括头部的所有内容,所以我使用了iframe。请注意,由于域名不同,iframe无法访问上面的窗口,因此我所做的是在本地页面设置onload事件以检查iframe更改。当它有我想要的URL时,我将以不同的方式处理并在本地应用程序中加载不同的页面。
这是一个例子。我正在使用jQuery和设置,以便检查的URL是/ app / LOCALPAGEPATH。因此,如果找到的网址是/app/index.html,则会转到index.html。
$('iframe').load(function(){
var url = $(this).get(0).contentWindow.location.href;
var appIndex = url.indexOf('/app/');
if (appIndex > -1) {
var appURL = url.substr(appIndex+5);
window.location.href = appURL;
}
});
答案 1 :(得分:1)
您可以执行关闭按钮
window.history.go(-(window.history.length - 1));
这应该回到本地index.html,因为它是它加载的第一个页面。