美文网首页
Cordova allow-navigation vs allo

Cordova allow-navigation vs allo

作者: ssjk4 | 来源:发表于2022-03-25 17:17 被阅读0次

    Navigation Allow List

    This controls which URLs the WebView itself can be navigated to. It applies only to top-level navigations.
    控制哪些url可以在cordova WebView中直接访问。

    Intent Allow List

    This controls which URLs the app is allowed to ask the system to open.
    控制哪些url可以交给系统打开。这个url请求是直接调用 [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil]。如:
    <allow-intent href="http:*" />,跳出当前cordova应用,调起系统默认浏览器打开url。
    <allow-intent href="tel:*" />,系统调起打电话的请求。
    <allow-intent href="iosamap:*" />,打开高德地图。

    allow-navigation优先级更高

    如同时设置<allow-navigation href="http:*" />和<allow-intent href="http:*" />,会在当前WebView中跳转到对应http url,不会调起系统浏览器打开url。

    如果设置了<allow-navigation href="*" />,则所有请求都通过当前cordova WebView访问,allow-intent设置的系统跳转都会被allow-navigation拦截,而大多数allow-intent设置的第三方协议,如iosamap://(高德地图)在cordova WebView中是无法打开的。

    所以尽量不要设置<allow-navigation href="*" /> !!
    可以设置:

    <allow-navigation href="http://*/*" />
    <allow-navigation href="https://*/*" />
    ...
    
    <allow-intent href="tel:*" />
    <allow-intent href="iosamap:*" />
    ...
    

    相关文章

      网友评论

          本文标题:Cordova allow-navigation vs allo

          本文链接:https://www.haomeiwen.com/subject/lbddjrtx.html