Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从HTTPS托管的网站获取HTTP资源不工作_Javascript_Web Worker - Fatal编程技术网

Javascript 从HTTPS托管的网站获取HTTP资源不工作

Javascript 从HTTPS托管的网站获取HTTP资源不工作,javascript,web-worker,Javascript,Web Worker,这个问题只与HTTPS上托管的网站有关,这些网站需要向HTTP端点发出请求(不过,似乎在Chrome中工作) 使用了以下代码: HTML: 点击我 var-worker=new-worker(“/worker.js”); var button=document.getElementById(“fetchButton”); addEventListener(“单击”,函数(){ myWorker.postMessage(“”); }); worker.onmessage=response=>{ c

这个问题只与HTTPS上托管的网站有关,这些网站需要向HTTP端点发出请求(不过,似乎在Chrome中工作)

使用了以下代码: HTML:

点击我
var-worker=new-worker(“/worker.js”);
var button=document.getElementById(“fetchButton”);
addEventListener(“单击”,函数(){
myWorker.postMessage(“”);
});
worker.onmessage=response=>{
console.log(“来自工人的消息”);
console.log(response.data);
}
工人:

onmessage=async函数(事件){
const result=await(等待获取)http://localhost:3000/something)json();
这是postMessage(result);
}

当我在一个支持HTTPS的网站上托管这个网站时,我在Chrome中得到了回复,但在Firefox中没有,但我找不到关于这个网站的任何更具体的文档。有没有办法在Firefox中也实现这一点?或者,在如何处理混合内容方面,这种行为(Firefox)是正确的吗?上面的代码在Chrome和Firefox上都能工作,当本地托管时没有HTTPS,因此它可能与通过HTTPS或不通过HTTPS服务网站有关。

您必须得到某种响应,请检查浏览器devtools网络选项卡。@James我检查过开发工具。如果在本地提供,我会在Firefox中得到响应,但如果通过HTTPS在某处提供,则不会得到响应。另一方面,在Chrome中,它在任何情况下都能工作。在Firefox上,似乎web worker甚至没有被触发,因为当通过HTTPS提供服务时,我看不到对端点本身有任何影响。@IvanSieder您需要将这些端点设置为HTTPS。昨天我在这里回答了一个类似的问题:我怀疑您在Firefox中也遇到了同样的错误。@Brad问题是,这些端点是收据打印机,不支持任何类型的HTTPS。我最初考虑安装一个本地实用程序应用程序,但在Firefox中,如果不是https,即使是localhost也无法在web workers中工作。然后,正如您所建议的,您将需要某种本地代理。许多善意的浏览器策略实际上破坏了像您这样的用例:-/您必须返回某种响应,请检查浏览器devtools网络选项卡。@James我确实检查了开发工具。如果在本地提供,我会在Firefox中得到响应,但如果通过HTTPS在某处提供,则不会得到响应。另一方面,在Chrome中,它在任何情况下都能工作。在Firefox上,似乎web worker甚至没有被触发,因为当通过HTTPS提供服务时,我看不到对端点本身有任何影响。@IvanSieder您需要将这些端点设置为HTTPS。昨天我在这里回答了一个类似的问题:我怀疑您在Firefox中也遇到了同样的错误。@Brad问题是,这些端点是收据打印机,不支持任何类型的HTTPS。我最初考虑安装一个本地实用程序应用程序,但在Firefox中,如果不是https,即使是localhost也无法在web workers中工作。然后,正如您所建议的,您将需要某种本地代理。许多善意的浏览器策略实际上破坏了像您这样的用例:-/