ios - Phonegap 2.0 , Cordova 外部链接
<p><p>我有一种情况,我在谷歌上花了这么多时间却没有成功。</p>
<p>我想在我的应用程序(IOS)中打开,像这样的外部链接</p>
<p><code>"<a href="http://google.com"target="_blank">External Link</a>"</code> 在 safari 而非网页 View 中打开。我在“Cordova.plist”中设置的地方</p>
<p><code>OpenAllWhitelistURLsInWebView : true</code></p>
<p>因为我的应用中还有一些 iframe,我想让用户保持在 WebView 中而不是离开应用。</p>
<p>我不知道为什么 target="_blank"不起作用,在这里:</p>
<p> <a href="https://build.phonegap.com/blog/access-tags" rel="noreferrer noopener nofollow">https://build.phonegap.com/blog/access-tags</a>它说:</p>
<p>"
<strong>在 iOS 上,如果域被列入白名单,则链接将接管整个 webview,除非链接的目标是 _blank,在这种情况下它将在浏览器中打开。如果不是,它将在设备上记录一个错误,而从用户的角度来看什么也不做。</strong>
"</p>
<p>我也试过用JS的方式,</p>
<pre><code>window.open('http://www.google.com', '_blank');
</code></pre>
<p>没有成功:( </p>
<p>PS:<em>我的所有链接都设置在外部主机中</em></p>
<p>感谢您的帮助。</p>
<p>谢谢!</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>您需要的是 MainViewController.m 中的这个迷人者</p>
<pre><code>- (BOOL)webView:(UIWebView *)theWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSURL *url = ;
// Intercept the external http requests and forward to Safari.app
// Otherwise forward to the PhoneGap WebView
if ([ isEqualToString:@"http"] || [ isEqualToString:@"https"]) {
[ openURL:url];
return NO;
}
else {
return [ super webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType ];
}
}
</code></pre></p>
<p style="font-size: 20px;">关于ios - Phonegap 2.0 , Cordova 外部链接,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/11993067/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/11993067/
</a>
</p>
页:
[1]