fetch下载js文件,js内容浏览器能不执行吗
fetch下载js文件,js内容浏览器能不执行吗
当使用 JavaScript 文件的 URL 在浏览器中进行 fetch()
请求时,浏览器将始终下载并执行
JavaScript 文件。这是因为浏览器默认情况下会自动执行 JavaScript 文件
,而 fetch()
方法只是从服务器获取该文件,但并不控制是否执行该文件。
如果不想在浏览器中执行 JavaScript 文件,可以考虑以下两个方案:
-
使用其他文件格式:你可以将 JavaScript 文件保存为其他格式(如纯文本),以避免浏览器自动执行该文件。但是,请注意,这种方法可能会影响你想要使用 JavaScript 文件的能力。
-
在下载后手动控制执行:你可以在
fetch()
方法返回 JavaScript 文件后,手动控制是否执行该文件。例如,你可以使用eval()
函数将文件内容作为字符串进行评估。但是,这种方法可能会导致安全问题,因为它会将不受信任的代码动态注入到你的网页中。因此,建议仅在你完全信任文件来源并且无法使用其他更安全的方法时才使用此方法。 -
当想提前加载js文件,后续再执行方法:如果在代码中直接操作dom,报错的话,可以通过方法来编写,用到的时候进行调用
以下因为提前加载,dom节点没有渲染好的情况
//加载和执行,由于没有渲染好依赖节点会报错
(function test() {
document.getElementById("abc").innerText = 123;
})();
正确做法:调整成方法,在dom渲染好再执行方法
//调整成方法
function test() {
document.getElementById("abc").innerText = 123;
}
window.test = test;
执行window.test();
来进行调用; //当不用的时候可以直接 window.test = undefined
移除
SEO关键词:
xml下载js文件js会被执行吗、fetch下载js文件浏览器执行吗、下载js文件如何不然浏览器执行、
浏览器下载js文件怎么让它不执行、提前加载js文件不自信代码