在Safari中打开外部链接(cordova)

Jos*_*nor 11 browser ios cordova

我想在我的应用程序中打开一个外部URL链接,这是一个cordova应用程序.现在它使用模态视图呈现在应用程序浏览器中,但它没有后退按钮或关闭按钮.用户在单击外部链接时基本上会卡住.例如,当有人点击"访问网站"中的此链接时,会显示一个应用内浏览器,网站显示正常,但无法导航回应用,或关闭应用内浏览器.我该如何解决这个问题?

<a href="http://www.sdtaproom.com/" target="_blank">Visit Website</a>
Run Code Online (Sandbox Code Playgroud)

我看到有一个解决方案,window.open(" http://stackoverflow.com ","_ system");但我不知道如何在href代码中实现它.

答案(编辑):在头部的脚本标签中添加此代码.

<script src="cordova.js"></script>
<script type="text/javascript">
window.addEventListener('load', function () {
  $(document).on('click', 'a[target="_system"],a[target="_blank"]', function (e) {
    e.preventDefault();
    var url = this.href;
    window.open(url,"_system");
  });
}, false);
</script>
Run Code Online (Sandbox Code Playgroud)

Glo*_*del 15

您可以在href属性中嵌入javascript代码.这应该做的伎俩:

<a href="javascript: window.open('http://www.sdtaproom.com/', '_system'); return false;">Visit Website</a>
Run Code Online (Sandbox Code Playgroud)

您还必须安装InAppBrowser插件(不要被其名称欺骗).

  • 太糟糕了 - 它正在我们的一个应用程序中工作.我们还安装了[InAppBrowser](https://cordova.apache.org/docs/en/3.0.0/cordova_inappbrowser_inappbrowser.md.html)插件.(不要被它的名字所迷惑.)你可能想检查一下是否有所作为. (2认同)
  • 我想到了.安装了插件,将我编辑过的问题中的代码添加到标题中的脚本标记中,然后运行.谢谢. (2认同)