Chrome中的错误:“;原始文件://不允许访问控制允许原始文件;
Error in Chrome: "Origin file:// is not allowed by Access-Control-Allow-Origin"
我正在为一个需要访问minus.com的Chrome扩展编写代码,minus.com使用oAuth 2.0进行身份验证,所以我编写了一个javascript文件"test.js",然后将其包含在HTML文件"test.HTML"中,然后在Chrome中加载"test.HTML"来测试用于身份验证的javascript代码。
"test.js"的结构如下:
function Ajax(url, options) {
// some function content
// Sending data
if (options.method === "POST" && (options.params || options.binaryData)) {
if (options.binaryData) {
xhr.sendAsBinary(options.binaryData);
} else {
xhr.send(hashToQueryString(options.params));
}
} else {
xhr.send(null);
}
return xhr;
}
function refreshToken(refresh_token) {
var params = {
'grant_type': 'refresh_token',
'client_id': API_KEY,
'client_secret': API_SECRET,
'refresh_token': refresh_token,
'scope': 'read_all modify_all upload_new'
}
new Ajax("https://minus.com/oauth/token", {
params: params,
onSuccess: function(response) {
console.log(response.access_token);
},
onError: function(response) {
console.log('error: wrong_token');
}
});
}
refreshToken();
当我在Chrome中加载"test.html"来测试"test.js"时,它在控制台中提示了一个错误,说"XMLHttpRequest无法加载https://minus.com/oauth/token?...原始文件://不允许访问控制允许原始文件。"我试着用"-允许从文件访问文件"或"-禁用网络安全"选项启动Chrome,但它没有解决问题。然而,如果我评论了"Ajax"功能中的"发送数据"部分,没有错误。
有人知道这里发生了什么吗?
谢谢!
要非常具体地说明您的问题:您需要将希望能够跨域访问的主机添加到您的扩展清单中:
http://code.google.com/chrome/extensions/xhr.html
{
"name": "My extension",
...
"permissions": [
"https://*.minus.com/"
],
...
}
编辑
顺便说一句,当我有很多扩展活动时,我的chrome有时会出现奇怪的跨域错误。然后我必须禁用至少两个,刷新扩展,它就可以工作了——或者有时重新启动chrome。
您可以通过使应用程序成为支持跨域调用的打包应用程序来解决此问题。托管应用程序没有。
您可能还想阅读chrome扩展中的Cross-Origin XMLHttpRequest
相关文章:
- markrwithlabel.js(第三方)原始文件链接断开
- 如何使用JavaScript粘贴原始二进制文件而不出现“无效字符”错误
- 如何在文件打开和调用图像区域选择时获取原始图像大小
- 如何在angular js中从github获取原始自述文件后将其转换为html格式的文档
- 保存对“;contentEditable;部分返回到原始HTML文件
- 如何将 Base64 文件转换为 javascript 中的实际文件/原始文件并将其下载到客户端
- 咕噜咕噜的丑陋 - 替换原始文件
- 当我克隆文件输入时,克隆的输入不会保留上传的文件.原始输入确实如此
- 拖放以克隆原始文件
- 重定向后,如何显示来自原始文件的错误消息
- Chrome中的错误:“;原始文件://不允许访问控制允许原始文件;
- 在不重命名原始文件的情况下吞下minify
- 使源映射引用远程计算机上的原始文件
- DataTransferItem.getAsFile()返回的文件大小比原始文件大得多
- 使用$http从服务器下载的原始文件创建Blob对象
- 将单个浏览器的js代码拆分成原始文件
- 在JSON对象中存储和发送原始文件数据
- 如何在脚本中获得原始文件路径与webpack
- 如何使Typescript文件在原始文件中而不是在“动态”选项卡中达到断点
- 如何调用一个文件,依赖于原始文件