firefox OS 内容安全策略错误 Index.html 中基于 XHR 的应用程序?
firefox OS Content Security Policy error XHR based application in Index.html?
我在控制台中收到此错误。
内容安全策略:该页面的设置阻止了自行加载资源 ("script-src app://fa91d835-176d-4fe7-bd06-fe7f57f11b68")。
我试图创建一个 firefox ajax 应用程序来从我的 codeigniter 控制器中检索一些数据。
当我检查控制台时,它只有 returns 错误。我只在文件外添加了 javascript 函数。但它说 CSP 错误。
我的Index.Html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Privileged app</title>
<meta name="description" content="A privileged app stub">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="css/app.css">
<script type="text/javascript" src="js/app.js" ></script>
<script type="text/javascript" src="js/jquery-1.7.1.min.js" ></script>
<script type="text/javascript" src="js/xhrapp.js" ></script>
<link rel="prefetch" type="application/l10n" href="data/locales.ini" />
<script type="text/javascript" src="js/libs/l10n.js" ></script>
</head>
<body>
<section>
<h1 data-l10n-id="app_title">Privileged empty app</h1>
<p data-l10n-id="app_description">This app is empty. Fill it with your own stuff!</p>
<p id="message"></p>
<input type="text" id="ajax_data" value="">
<a href="" onclick="xhrapp();"><button>Click</button></a>
</section>
</body>
</html>
函数xhrapp.js
function xhrapp(){
var a=$("#ajax_data").val();
alert(a);
console.log("in function");
var xhr = new XMLHttpRequest({
mozSystem: true
});
// xhr.open("POST", "http://blac.byethost7.com/home/index.php/welcome/demo");
xhr.open("POST", "http://localhost/shop/home/home/demo");
xhr.send(a);
xhr.onload = function() {
if (xhr.status == 200) {
console.log(xhr.responseText);
// alert(xhr.responseText);
}
};
}
请帮帮我!
您不能使用属性 onclick=''
,因为它违反了 CSP
由于您使用的是 jquery,请将其添加到您的 xhrapp.js
$(document).ready(function(){
$("#mybutton").on("click", xhrapp);
});
将您的 HTML 更改为:
<button id="mybutton">Click</button> <!-- <a> is not needed -->
更多信息请查看: https://developer.mozilla.org/en-US/Apps/Build/Building_apps_for_Firefox_OS/CSP
我在控制台中收到此错误。
内容安全策略:该页面的设置阻止了自行加载资源 ("script-src app://fa91d835-176d-4fe7-bd06-fe7f57f11b68")。
我试图创建一个 firefox ajax 应用程序来从我的 codeigniter 控制器中检索一些数据。 当我检查控制台时,它只有 returns 错误。我只在文件外添加了 javascript 函数。但它说 CSP 错误。
我的Index.Html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Privileged app</title>
<meta name="description" content="A privileged app stub">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="css/app.css">
<script type="text/javascript" src="js/app.js" ></script>
<script type="text/javascript" src="js/jquery-1.7.1.min.js" ></script>
<script type="text/javascript" src="js/xhrapp.js" ></script>
<link rel="prefetch" type="application/l10n" href="data/locales.ini" />
<script type="text/javascript" src="js/libs/l10n.js" ></script>
</head>
<body>
<section>
<h1 data-l10n-id="app_title">Privileged empty app</h1>
<p data-l10n-id="app_description">This app is empty. Fill it with your own stuff!</p>
<p id="message"></p>
<input type="text" id="ajax_data" value="">
<a href="" onclick="xhrapp();"><button>Click</button></a>
</section>
</body>
</html>
函数xhrapp.js
function xhrapp(){
var a=$("#ajax_data").val();
alert(a);
console.log("in function");
var xhr = new XMLHttpRequest({
mozSystem: true
});
// xhr.open("POST", "http://blac.byethost7.com/home/index.php/welcome/demo");
xhr.open("POST", "http://localhost/shop/home/home/demo");
xhr.send(a);
xhr.onload = function() {
if (xhr.status == 200) {
console.log(xhr.responseText);
// alert(xhr.responseText);
}
};
}
请帮帮我!
您不能使用属性 onclick=''
,因为它违反了 CSP
由于您使用的是 jquery,请将其添加到您的 xhrapp.js
$(document).ready(function(){
$("#mybutton").on("click", xhrapp);
});
将您的 HTML 更改为:
<button id="mybutton">Click</button> <!-- <a> is not needed -->
更多信息请查看: https://developer.mozilla.org/en-US/Apps/Build/Building_apps_for_Firefox_OS/CSP