关于#Html#的问题,如何解决?使用Inport导入时报错怎么办

T355/MYHtml/ch08/demo/demo17.js' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, isolated-app, chrome-extension, chrome-untrusted, https, edge.
test.html:10

    GET file:///D:/T355/MYHtml/ch08/demo/demo17.js net::ERR_FAILED

img

根據錯誤訊息:
Cross origin requests are only supported for protocol schemes: http, data, isolated-app, chrome-extension, chrome-untrusted, https, edge.
.
使用外部的 javascript 只接受 "http, data, isolated-app, chrome-extension, chrome-untrusted, https, edge."
使用 file:// 不行。
可以安裝 web server ,並且使用 http://localhost/

  • 文章:from origin ‘null‘ has been blocked by CORS policy: Cross origin requests are only supported for pro 中也许有你想要的答案,请看下吧
  • 以下回答由chatgpt基于相关博客总结生成:

    解决方案:

    针对导入Html文件时的CORS policy错误,可以通过以下几种方法解决。

    方法一:在本地搭建一个服务器

    在本地搭建一个服务器,例如使用Node.js的http-server模块,然后将Html文件放置在该服务器上,通过服务器访问Html文件即可,这样可以避免CORS policy的限制。

    步骤如下:

    1.安装http-server模块

    在命令行中输入以下命令:

    npm install http-server -g
    

    2.启动http-server服务器

    在命令行中进入Html文件所在的目录,然后输入以下命令:

    http-server . -c-1
    

    -c-1参数表示禁用缓存,如果不加该参数,可能会出现问题。

    3.通过服务器访问Html文件

    在浏览器中输入以下地址:

    http://localhost:8080/xxx.html
    

    其中xxx.html为Html文件名。

    方法二:修改服务器返回的响应头

    在服务器端返回Content-Type头部字段的值为”text/html”即可解决该问题。

    在Node.js中可以使用以下代码实现:

    res.writeHead(200, {
        'Content-Type': 'text/html',
        'Access-Control-Allow-Origin': '*'
    })
    

    其中Access-Control-Allow-Origin头部字段设置为”*”表示允许所有跨域请求。

    方法三:使用webpack-dev-server

    使用webpack-dev-server启动一个本地服务器,webpack-dev-server会自动处理CORS问题。

    需要安装webpack和webpack-dev-server两个模块,可以通过以下命令安装:

    npm install webpack webpack-dev-server -g
    

    然后在webpack配置文件中添加以下配置:

    devServer: {
        host: '0.0.0.0',
        port: 8080,
        disableHostCheck: true
    }
    

    其中host设置为”0.0.0.0”,表示允许所有IP访问,disableHostCheck设置为true表示禁用主机检查。

    启动webpack-dev-server服务器:

    webpack-dev-server --open
    

    使用以上任意一种方法解决问题即可。

问题可以换成:盘符和静态服务器打开html的区别

盘符是指计算机硬盘上的一个存储区域,可以存储各种文件,包括HTML文件。而静态服务器是指专门用于存储和提供静态文件(如HTML、CSS、JavaScript等)的服务器,它可以通过HTTP协议向客户端提供这些文件。

在打开HTML文件时,如果直接从盘符中打开,那么浏览器会直接读取硬盘上的文件并在浏览器中显示。而如果使用静态服务器来提供HTML文件,则需要通过HTTP协议进行访问,浏览器会向服务器发送请求,服务器会返回HTML文件的内容,浏览器再将其解析并显示出来。

使用静态服务器可以提供更好的性能和可靠性,因为它可以缓存文件并使用CDN等技术来提高文件的传输速度和可用性。同时,静态服务器还可以提供一些其他的功能,如压缩文件、防盗链等。

你可以使用