javascript - html5 使用 Content-Security-Policy 安全策略 导致ios10 与js 交互的代码不执行 ?
天蓬老师
天蓬老师 2017-04-11 10:12:05
0
2
898

html5 使用 Content-Security-Policy 安全策略 导致ios10 与js 交互的代码不执行 自己的js代码正常

我的设置如下:

ios10 的脚本一直注入失败 (ios 端交互方式使用的是 WebViewJavascriptBridge )
无法执行ios 方法

ios 与 js 交互代码使用如下方式:

function setupWebViewJavascriptBridge(callback) { if (Platform == "ios") { if (window.WebViewJavascriptBridge) { return callback(WebViewJavascriptBridge); } if (window.WVJBCallbacks) { return window.WVJBCallbacks.push(callback); } window.WVJBCallbacks = [callback]; var WVJBIframe = document.createElement('iframe'); WVJBIframe.style.display = 'none'; WVJBIframe.src = 'wvjbscheme://__BRIDGE_LOADED__'; document.documentElement.appendChild(WVJBIframe); setTimeout(function () { document.documentElement.removeChild(WVJBIframe) }, 0) } }

大神求指点,该怎么设置?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

reply all (2)
刘奇

我自己的解决方案:由于ios10 的安全策略经过优化处理,如果有与ios 交互使用jsbridge库需要添加信任的frame-src,

如:(这些src需要与源码中的路径匹配)

frame-src 'self' wvjbscheme://* 根据具体项目中的交互库的源码中对应的路径

具体代码如下:

    洪涛
      Latest Downloads
      More>
      Web Effects
      Website Source Code
      Website Materials
      Front End Template
      About us Disclaimer Sitemap
      php.cn:Public welfare online PHP training,Help PHP learners grow quickly!