Cordova 应用在 iOS 上无法使用外部链接

4
我有一个使用PGB构建的Cordova应用程序,在iOS上外部链接停止工作。该链接在Android和WebApp上都可以正常工作,但在iOS上无法正常工作。我尝试了UIWebView和WkWebView,但都没有效果。这在所有平台上都可以正常工作,但我不确定是Cordova 6还是iOS 11出现了问题。我使用白名单插件:
<access origin="*"/>
<allow-navigation href="*" />
<allow-intent href="*" />

CORS头部是:

<meta http-equiv="Content-Security-Policy"
    content="default-src 'self' gap://ready file://* *;
    style-src * 'self' 'unsafe-inline' 'unsafe-eval';
    script-src * 'self' 'unsafe-inline' 'unsafe-eval';"
>

这些链接都是外部链接,我不需要或想在应用程序WebView中使用它们。我更喜欢使用单独的Safari浏览器。但是,我仍然需要使用inappbrowser插件吗?

2个回答

5

allow-navigation 优先于 allow-intent,您需要删除 allow-navigation 条目或将其更改为仅允许导航到某些特定的 URL,而不是所有 URL。


2
移除配置文件中的 allow-navigation 后,iOS 可以在浏览器中打开链接。但是你知道如果我想使用 <allow-navigation href="https://*youtube.com/*" /> 嵌入 ToyTube 视频该怎么做吗? 无论我做什么,只能让其中一个(链接或嵌入视频)起作用。但我希望两者同时工作。 - Sujit Kumar Singh

1
这对我很有帮助!将allow-navigation定义为允许嵌入会破坏外部链接,所以为了解决这个问题,我不得不安装inAppBrowser插件https://github.com/apache/cordova-plugin-inappbrowser并使用js来用cordova.InAppBrowser.open(href, '_system');打开链接。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接