获取错误资源违反指令'script-src ms-appx:'主机定义策略中的'unsafe-eval'':内联脚本。资源将被阻止

时间:2016-10-15 18:58:43

标签: javascript html visual-studio

我正在尝试使用Visual studio制作通用的Windows应用程序。当我尝试运行以下代码时:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>testProject</title>
    <link href="css/default.css" rel="stylesheet" />
</head>
<body>
    <div>Content goes here!</div><script src="js/main.js"></script>
    <form name="myForm">

           <input type="radio" name="myRadio" value="yes"/>  Yes <br />
           <input type="radio" name="myRadio" value="No"/> No <br />
           <input type="button" name="submit"value="submit" onsubmit="return validateForm" />
    </form>
</body>
</html>

在JavaScript主文件中:

function ValiditeForm(){

    document.writeln("Hello World");
}

当我尝试跑步时,我收到以下警告:

CSP14312:主机定义策略中的资源违反指令'script-src ms-appx:'unsafe-eval'':内联脚本。资源将被阻止。

我只是想做的就是使用visual studio通用应用程序编写HTML代码,当用户单击HTML表单中的单选按钮时,它将被传递给JavaScript中的函数并打印出一个值。

2 个答案:

答案 0 :(得分:1)

由于内容安全政策

,这种情况正在发生

来自MDN

  

HTTP Content-Security-Policy响应标头允许网站管理员控制允许用户代理为给定页面加载的资源。除了少数例外,策略主要涉及指定服务器源和脚本端点。这有助于防止跨站点脚本攻击(XSS)。

您的服务器正在发送Content-Security-Policy HTTP标头阻止您的浏览器信任您的javascript文件。

您可以更改CSP标题,以便内联<script>,如果您的服务器是IIS,请在HTTP Response heathers

上查找inetmgr.exe选项

inetmgr

从您的配置中删除unsafe-eval即可全部设置。

unsafe-eval

这对于开发来说是可以的,但不适用于生产环境。互联网上有一些很酷的实用程序可以帮助您为特定文件生成有效的CSP。 Google for&#34; CSP标题生成器&#34;例如。

答案 1 :(得分:-1)

更正所有其他语法错误。单击程序运行时收到的错误消息(错误输出窗口顶部的“x”)。终止你的程序。关闭你的解决方案退出Visual Studio。

重命名项目文件夹。从新文件夹中打开Visual Studio。重新尝试你的解决方案。现在,当 你调试,你不会看到错误。