【发布时间】:2014-04-29 15:43:19
【问题描述】:
我在我的应用程序中嵌入了 GoogleMap。 在嵌入式地图(这是一个 iFrame)上,我有来自 google:'term of use' 的链接。 当我单击链接时(客户可能会错误地这样做),它会在我的应用程序中打开页面并全屏显示。那么不可能回到应用程序!
所以我添加了 Cordova 插件 InAppBrowser。我创建了一个小脚本来防止这种情况:
$("a").click(function(e) {
console.log("checking link");
var link = e.currentTarget.href;
var testURL = (link.indexOf("www") > (-1));
testURL |= (link.indexOf("http") > (-1));
testURL |= (link.indexOf(".com") > (-1));
testURL |= (link.indexOf(".fr") > (-1));
if (testURL) {/*if URL is external open in 'new window'*/
console.log("Prevent InApp URL FullScreen");
window.open(link, "_system");
}
});
它在页面上的经典链接上运行良好。 主要问题是谷歌地图在 iFrame 中!这样我就无法从 jQuery 访问元素,并且 $("a').click(.....) 在 iFrame Link 上不起作用!
总结
我希望任何外部链接(http、wwww、.fr、.com、.org...等)在 Safari 中打开,而不是在我的应用程序。或者使用 InAppBrowser 插件,在我的应用中打开而不是全屏,返回到应用。
你有什么想法吗?
在此先感谢各位。
【问题讨论】:
标签: javascript html iframe cordova