从inappbrowser中的链接打开mobilesafari中的外部链接
open external links in mobile safari from a link inside inappbrowser
好的,所以我有一个简单的phonegap 3.2应用程序,我正在使用inappbrowser插件打开一个页面,在receivedEvent
方法中:
var ref = window.open('urlxxxxx', '_blank', 'location=no,presentationstyle=fullscreen,toolbar=no');
加载的页面有一些链接,我需要做的是不是在inapp浏览器中打开这些链接,而是在移动safari中打开,我已经尝试过了:
<a href="http://yahoo.com" target="_system">link 7</a>
<a href="http://yahoo.com" onclick="window.open(this.href,'_system'); return false;">link 3</a>
但它们都是在inapp浏览器中打开的,我如何在safari中打开它们??感谢的帮助
哦,我也试过在window.open函数中将'_blank'更改为'_self',但什么都没有,结果是一样的。
试试这个。我用的是Phonegap Build和jQuery Mobile。
*注意-我尝试了其他几种直接向锚标记添加属性的方法,例如<a href="http://externalsite.com target="_blank" data-rel="external" data-ajax="false">
也尝试了target="_system
,但都不起作用,所以我不得不使用javascript(不过只有5行)。
这并不太复杂,但我会带你走过去…
-
您需要防止锚点标记的默认行为。所以以某种方式抓住你关心的标签。我在所有要从外部打开的锚标记中添加了一个名为"external"的类。相当标准的东西:
$(document).on('click', ".external", function (e) { e.preventDefault(); };
-
然后从您试图在safari中加载的锚点获取
href
值。再次,这里没有添加太花哨的内容:$(document).on('click', ".external", function (e) { e.preventDefault(); var targetURL = $(this).attr("href"); };
-
这是一个需要挖掘的地方——我想Phonegap用2.3改变了他们的方法?无论如何,在一个新窗口中打开抓取的
href
(这里是"_system"
的位置):$(document).on('click', ".external", function (e) { e.preventDefault(); var targetURL = $(this).attr("href"); window.open(targetURL, "_system"); });
就是这样。至少这对我有效。
祝你好运!
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 如何使用jQuery自动打开页面上的所有链接
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- jquery动画可以通过编程链接吗
- 在单击href链接的同时下载文件
- 尽管链接成功并已成功下载,但未找到NPM模块
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 单击页面上的链接后高度发生变化
- 将纯文本URL转换为可单击链接
- python-selenium-点击上升链接
- 一点javascript元编程&可链接的设置器
- ng视图外的链接重定向到ng视图内的页面
- 如何调用“;链接_;在onclick事件上使用Javascript
- 链接所有<a>Meteor
- 如何在Angular中的表的所有单元格中添加链接
- 通过链接重定向不;我不在jstree中工作
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 单击超链接时,如何使用Google Maps API v3缩放地图
- 从inappbrowser中的链接打开mobilesafari中的外部链接