0
我正在開發一個Mozilla Firefox擴展,它需要與localhost上的服務器進行通信:8080。jQuery.ajax()由於WebExtension中的CSP而被阻止
jQuery.ajax({
type: query_method,
url: "http://localhost:8080/item",
data: item,
dataType: "jsonp",
success: function(result) {
return result.code;
},
error: function(request, status) {
/*
todo handle internal error
*/
console.log(request);
console.log(status);
}
});
得益於CSP,我不能用jQuery.ajax()
來GET/POST/DELETE/PUT
。這一切都使我有以下錯誤信息:
Content Security Policy:
The page's settings blocked the loading of a resource at
http://localhost:8080/...
("script-src moz-extension://a79d13c4-898a-482a-9bc9-d016e8dae8f5
https://* moz-extension: blob: filesystem: 'unsafe-eval' 'unsafe-inline'").
當然,我已經嘗試了一些所謂的解決方案像:
"content_security_policy": "script-src 'self'; object-src 'self'; report-uri http://localhost:8080"
- >沒有用"content_security_policy": "script-src 'self'; object-src 'self' http:"
- >Error processing content_security_policy: SyntaxError: ‘object-src’ directive contains a forbidden http: protocol source
有沒有人可以給一個真正的解決方案發送HTTP請求和接收數據一個Firefox擴展?
爲什麼使用jQuery.ajax()`加載資源?如果是這樣,我不能使用HTTP協議來做任何請求。