Javascript 有办法改变吗<;脚本src=??>;chrome中的url值并重新加载页面?
我的html代码中使用了一个js文件,如下所示:Javascript 有办法改变吗<;脚本src=??>;chrome中的url值并重新加载页面?,javascript,html,google-chrome,google-chrome-devtools,Javascript,Html,Google Chrome,Google Chrome Devtools,我的html代码中使用了一个js文件,如下所示: <script src="//some-website/files/CURRENT_JS_FILE.js" async></script> 我没有QA环境,也不能在生产环境中更改html代码 我想测试我更新的js代码,如下所示: <script src="//some-website/files/CURRENT_JS_FILE.js" async></script> 1) 检查html 2)
<script src="//some-website/files/CURRENT_JS_FILE.js" async></script>
我没有QA环境,也不能在生产环境中更改html代码
我想测试我更新的js代码,如下所示:
<script src="//some-website/files/CURRENT_JS_FILE.js" async></script>
1) 检查html2) 更新源文件url:
<script src="//some-website/files/NEW_JS_FILE.js" async></script>
3) “软”刷新页面以进行本地测试(重新加载页面,但使用新的js文件url)
有办法做到这一点吗?我尝试了以下操作,但没有取得好结果:
1) 更新src url,按刷新(按预期刷新整个页面和src url)
2) 按CMD+p,打开有问题的JS文件,更新代码,保存;再次刷新,但无法继续。我以前是这样做的:
如果这显示了“正确”的页面设计,那么现在您可以以相同的方式复制/粘贴js文件,更改file.html中js的导入,并使您的尝试成为我以前使用的方式:
如果这显示了“正确”的页面设计,那么现在您可以以同样的方式复制/粘贴js文件,更改file.html中js的导入,并进行尝试。您还可以使用
eval
和XMLHttpRequest
。但如果使用这种方式,就不能使用document.currentScript
<script src="/your-source.js" id="script-characteristic"></script>
<!-- Set after loading -->
<script>
var scriptElement = document.getElementById("script-characteristic");
if (scriptElement.innerHTML != "") {
eval(scriptElement.innerHTML);
} else if (scriptElement.src && scriptElement.src != "") {
var scriptRequest = new XMLHttpRequest()
scriptRequest.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
eval(this.responseText);
}
}
scriptRequest.open("GET",scriptElement.src,true);
scriptRequest.send();
}
</script>
var scriptElement=document.getElementById(“脚本特征”);
if(scriptElement.innerHTML!=“”){
eval(scriptElement.innerHTML);
}else if(scriptElement.src&&scriptElement.src!=“”){
var scriptRequest=new XMLHttpRequest()
scriptRequest.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
eval(this.responseText);
}
}
open(“GET”,scriptElement.src,true);
scriptRequest.send();
}
您还可以使用eval
和XMLHttpRequest
。但如果使用这种方式,就不能使用document.currentScript
<script src="/your-source.js" id="script-characteristic"></script>
<!-- Set after loading -->
<script>
var scriptElement = document.getElementById("script-characteristic");
if (scriptElement.innerHTML != "") {
eval(scriptElement.innerHTML);
} else if (scriptElement.src && scriptElement.src != "") {
var scriptRequest = new XMLHttpRequest()
scriptRequest.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
eval(this.responseText);
}
}
scriptRequest.open("GET",scriptElement.src,true);
scriptRequest.send();
}
</script>
var scriptElement=document.getElementById(“脚本特征”);
if(scriptElement.innerHTML!=“”){
eval(scriptElement.innerHTML);
}else if(scriptElement.src&&scriptElement.src!=“”){
var scriptRequest=new XMLHttpRequest()
scriptRequest.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
eval(this.responseText);
}
}
open(“GET”,scriptElement.src,true);
scriptRequest.send();
}
是。使用
chrome://version
。确保您有Chrome 65(在引入该功能时)chrome://version
。确保您有Chrome 65(在引入该功能时)尝试重新加载?你能创建任何使用该文件的页面,并将其命名为不同的名称,这样你就可以在不破坏prodSetup wireshark拦截流量的情况下更改页面上的内容:)@TricksfortheWeb什么是“硬”重新加载?你读过吗?试着重新加载吗?你能创建任何使用该文件的页面,并将其命名为不同的名称,这样你就可以在不破坏prodSetup wireshark拦截流量的情况下更改页面上的内容:)@TricksfortheWeb什么是“硬”重新加载?你读过吗?我最终使用了resourceoverride chrome扩展名,但是这个方法也可以。我最终使用了resourceoverride chrome扩展,但是这个方法也可以。谢谢,我最终使用了同样有效的Resource Override chrome扩展。谢谢,我最终使用了同样有效的Resource Override chrome扩展。