iOS UIWebView应用程序在Safari中打开链接

rad*_*tiv 6 javascript uiwebview ios

我有一个iOS应用程序只有一个视图,这是UIWebView(它打开应用程序的主要内容).我希望当我在某处(例如在桌面行上)点击该应用程序时,在Safari浏览器中打开特定链接,而不是在UIWebView内部.

如果没有编写任何iOS代码,那是否可行,而不是让JavaScript在Safari中打开该链接?

我有那个代码,但它根本没有帮助:

HTML代码

<tr class='link-to-pdf' data-href='www.example.com'>
Run Code Online (Sandbox Code Playgroud)

JS代码:

 $(".link-to-pdf").click(function () {

            var a = document.createElement('a');
            a.setAttribute("href", this.getAttribute("data-href"));
            a.setAttribute("target", "_blank");

            var dispatch = document.createEvent("HTMLEvents");
            dispatch.initEvent("click", true, true);
            a.dispatchEvent(dispatch);

        });
Run Code Online (Sandbox Code Playgroud)

Nil*_*nch 1

在某些情况下,您可以告诉 javascript 中具有 的所有链接target="_blank",并使用“_system”参数将它们传递给 window.open。这适用于 iOS 和 Android。

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

  ev.preventDefault();
  url = $(this).attr('href');
  window.open(url, '_system');
});
Run Code Online (Sandbox Code Playgroud)

或者在你的情况下,只需替换a.setAttribute("target", "_blank");a.setAttribute("target", "_system");

这在一个古老的项目中对我有用,但我不确定它是否仍然有效(在 iOS 和 Android 上)