seb*_*mez 7 javascript win-universal-app windows-10
我甚至都不知道这是不是我需要的,但是在这篇MSDN论坛发帖几天后根本就没有答案,我想我会在SO中试一试.
我的问题:我有很多Windows 8.1和Windows Phone 8.1 HTML/Javascripts应用程序,每个html页面都有一个<script>句子<head>.我开始将我的应用程序迁移到Windows 10作为单个通用Windows应用程序,但是我收到以下错误:
CSP14312: Resource violated directive 'script-src ms-appx: data: 'unsafe-eval'' in Host Defined Policy: inline script. Resource will be blocked
Run Code Online (Sandbox Code Playgroud)
当然,什么都没有被执行......我错过了什么吗?
编辑:重新创建一个空白的Windows通用应用程序,使用VS2015 RC并添加
<script>
console.log('hello');
</script>
Run Code Online (Sandbox Code Playgroud)
在head标签关闭之前
Rob 说得对,默认情况下,您不能在ms-appx:///协议中使用内联脚本。这是应用程序的默认协议,并且具有不允许内联脚本的默认 CSP 策略。
如果您确实希望使用内联脚本,您可以通过ms-appx-web:///导航到内容协议导航到内容,其中没有默认的 CSP 策略。
需要注意的是,您无权访问该协议中的某些功能。
除了 Rob 所说的之外,我唯一的区别是您最有可能希望像这样设置应用程序内容 URI 规则 (ACUR)
<uap:ApplicationContentUriRules>
<uap:Rule Type="include" Match ="ms-appx-web:///" WindowsRuntimeAccess="all"/>
</uap:ApplicationContentUriRules>
Run Code Online (Sandbox Code Playgroud)
要导航到您的内容,您可以将清单中的 StartPage 设置为ms-appx-web:///default.html