在某些时候,我似乎在某个Chrome配置文件中以某种方式禁用了相同的原始政策。例如,在https://www.google.com上,我能够在控制台中成功执行以下内容并获得完整响应:
function reqListener () {
console.log(this.responseText);
}
var oReq = new XMLHttpRequest();
oReq.addEventListener("load", reqListener);
oReq.open("GET", "https://www.yahoo.com");
oReq.send();
在我的其他chrome配置文件中,此代码给出了预期的错误:
XMLHttpRequest cannot load https://www.yahoo.com/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://www.google.com' is therefore not allowed access.
如何为我的chrome配置文件重新启用SOP?
请注意,我没有使用--disable-web-security
标记(至少不是故意的)。我正在直接打开原始可执行文件。
答案 0 :(得分:0)
如果您使用的是Windows,则您的快捷方式可能会在目标路径的末尾显式设置--disable-web-security
。右键单击快捷方式,然后在“快捷方式”选项卡下,确保可执行文件的路径后没有任何内容。
如果您使用的是Mac,我认为如果您没有通过终端设备运行,我会使用AppleScript
启动器来运行带有标志设置的Chrome。
您还应检查您是否安装了禁用该扩展程序的扩展程序,例如: Allow-Control-Allow-Origin: *。否则,我建议您完全重置您的个人资料,因为我没有看到任何方式被禁用。