【问题标题】:Link Won't Open In Safari Or InAppBrowser链接不会在 Safari 或 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 调用似乎都没有工作

标签: javascript jquery ios cordova


【解决方案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);
                          }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 2015-04-10
    • 1970-01-01
    • 2014-07-20
    • 2012-02-11
    相关资源
    最近更新 更多