链接不会在 Safari 或 InAppBrowser 中打开

Posted

技术标签:

【中文标题】链接不会在 Safari 或 InAppBrowser 中打开【英文标题】:Link Won't Open In Safari Or InAppBrowser 【发布时间】:2013-05-25 04:51:05 【问题描述】:

所以我一直在这里搜索并找到了大量答案,但其中大多数是 2.3 之前的科尔多瓦,当时它有 plist。然后我发现一些可以使用新的 config.xml 设置但无法获取在 Safari 中打开的 URL 或 InAppBrowser 这是我的代码,我将它列入白名单也有 * 白名单。

<a href="http://www.academymusicgroup.com/" onclick="window.open(this.href,'_blank'); return false;">AcademyMusicGroup</a>

【问题讨论】:

hii sdla4ever 我也面临同样的问题,如果你有解决方案,请与我分享。谢谢 adv @anilkumar07 不,我还没有找到解决方案。 _blank _system 调用似乎都没有工作 【参考方案1】:

1) 在 safari 中打开链接

将代码粘贴到您的 MainViewController.m 文件中

- (BOOL)webView:(UIWebView *)theWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

    NSURL *url = [request URL];

    // Intercept the external http requests and forward to Safari.app
    // Otherwise forward to the PhoneGap WebView
    if ([[url scheme] isEqualToString:@"http"] || [[url scheme] isEqualToString:@"https"]) 
        [[UIApplication sharedApplication] openURL:url];
        return NO;
    
    else 
        return [ super webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType ];
    

2) 在 InAppBrowser 中打开链接

function OpenLink()
                    
                    alert(adlink); //adlink: http://www.google.com
                        var ref = window.open(adlink, '_blank', 'location=yes');//adlink is url
                        var myCallback = function()  alert(event.url); 
                        ref.addEventListener('loadstart', myCallback);
                        ref.removeEventListener('loadstart', myCallback);
                          

【讨论】:

以上是关于链接不会在 Safari 或 InAppBrowser 中打开的主要内容,如果未能解决你的问题,请参考以下文章

在 WKWebView 中加载 safari 或 chrome 中的链接/URL

Safari HTML 5 视频标签在链接标签内不起作用

safari 不会播放转换为 mp4 或 m4v 的 gif

macbook 无论用safari还是chrome下载 点击下载后下载的目标地址出现在地址栏而网页时空白的,不会自动下载

单击超链接时,Safari 会忽略/删除锚点(或“主题标签”)吗?

移动 Safari - Javascript 打开选项卡而不会失去对当前页面的关注