简体   繁体   English

Phonegap iPhone目标链接问题

[英]Phonegap iPhone target link issue

Following this great answer 遵循这个好答案

I'm using cordova 2.0 . 我正在使用cordova 2.0

I need to open in safari window some specific links. 我需要在野生动物园窗口中打开一些特定的链接。 But at the same time I need to load external ads in the same WebView . 但是同时,我需要在同一WebView中加载外部广告 So I'm using this conf: 所以我正在使用这个conf:

OpenAllWhitelistURLsInWebView = YES
ExternalHosts = ['*']

Setting that I'm not having any problems with ads/GA/et . 设置我在ads / GA / et上没有任何问题。 However, for links I've tried using target=_blank as many posts said but setting ExternalHosts = ['*'] seems to break the target=_blank functionality. 但是,对于链接,正如许多帖子所述,我尝试使用target = _blank,但设置ExternalHosts = ['*']似乎破坏了target=_blank功能。

example

<a href='external.com' target=_blank> open in Safari</a>
<a href='internal.com' > open in WebView</a>

Question: 题:

It is possible to force a link target to be opended into safari window using ExternalHosts = ['*'] and OpenAllWhitelistURLsInWebView = YES ?? 可以使用ExternalHosts = ['*']OpenAllWhitelistURLsInWebView = YES强制将链接目标打开到safari窗口中。

This looks like it might work. 看起来可能可行。 I'm running 2.1 an running into the same problem. 我正在运行2.1遇到同样的问题。

I'm still looking for a more eligent solution. 我仍在寻找更紧急的解决方案。 http://www.rigelgroupllc.com/blog/2012/05/22/opening-links-in-phonegap-apps-in-mobile-safari/ http://www.rigelgroupllc.com/blog/2012/05/22/opening-links-in-phonegap-apps-in-mobile-safari/

Just catch all links in your javascript that have target="_blank" , and pass them to window.open with the '_system' param. 只需在您的javascript中捕获所有具有target="_blank" ,并将它们传递给带有'_system'参数的window.open。 This will work on both iOS and Android. 这将适用于iOS和Android。

$(document).on('click', 'a[target="_blank"]', function(ev) {
  var url;

  ev.preventDefault();
  url = $(this).attr('href');
  window.open(url, '_system');
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM