我正在尝试一些相当简单的东西,它曾经在使用 Chrome CEF 的 OBS 工作室工作。
它所要做的(本地)只是要求浏览器在子目录中打开一个文件,读取它,然后允许使用它,但我认为合适。我使用的代码是这样的:
function loadDocSubscriber() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("subscriber").innerHTML =
this.responseText;
}
};
xhttp.open("GET", "textfiles/most_recent_subscriber.txt", true);
xhttp.send();
}
在 OBS 更新 Chrome CEF 以使用 CORS 之前,它运行良好。虽然 CORS 应该将文件打开视为来自同一来源并允许它,但我知道它是将其读取为“file:///”并禁止 javascript 显示打开的 .txt 的内容。
我相信目标是让浏览器相信文本文件来自同一来源,为此我尝试过:
<meta http-equiv="Access-Control-Allow-Origin" content="*"/>
但可惜那没有用。要从中提取的文本文件无法更改,因为它们会定期被覆盖,并且任何混乱的处理方式都可能不起作用,因为 CORS 是一种安全功能,并不意味着要被规避。
如何在本地完成时满足浏览器的同源要求?