问题提出
在开发网页端程序的时候,一开始是在webStorm中调试,并没有发现问题。后来单独脱离开发环境,想要直接运行index.html的时候,发现js代码无法正常跳转。
问题原因
因为浏览器受安全策略原因,不能对file地址进行处理,提示跨域访问错误。而webStorm平台中自动对网页地址进行了处理,调试时的网页地址是local host:端口号,所以访问不会出错。具体原理自行查阅。
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.
解决方法
利用批处理写一个程序,具体原理可以理解为突破限制,从而强制访问。
@echo off
set CHROME_PATH="C:\Program Files\Google\Chrome\Application\chrome.exe"
set HTML_FILE=D:/.../index.html
%CHROME_PATH% %HTML_FILE% --allow-file-access-from-files