0
我想使用javascript在HTML文件中删除或替换此字符串。替换具有不断变化的动态版本号的脚本标记
'<script src="../assets/js/somejs.js?1.0.953"></script>'
麻烦的是,版本号“1.0.953”总是在变化,所以我不能用一个简单的与string.replace
我想使用javascript在HTML文件中删除或替换此字符串。替换具有不断变化的动态版本号的脚本标记
'<script src="../assets/js/somejs.js?1.0.953"></script>'
麻烦的是,版本号“1.0.953”总是在变化,所以我不能用一个简单的与string.replace
确定这是混乱的,但它的工作原理...
String.prototype.replaceAnyVersionOfScript = function(target, replacement) {
// 1. Build the string we need to replace (target + xxx + ></script>)
var targetLength = target.length;
var targetStartPos = this.indexOf(target);
var dynamicStartPos = targetStartPos + targetLength;
var dynamicEndPos = this.indexOf('></script>', dynamicStartPos) + 10;
var dynamicString = this.substring(dynamicStartPos, dynamicEndPos);
var dymamicStringToReplace = target + dynamicString;
// 2. Now we know what we are looking for. We can replace it.
return this.replace(dymamicStringToReplace, replacement);
};
shellHTML = shellHTML.replaceAnyVersionOfScript('<script src="./assets/js/CloudZoom.js', '');
你可以做到这一点使用下面的正则表达式:
\?.*?\"
或更具体地说
(\d+)\.(\d+)\.(\d+)
用于匹配版本号。
利用正则表达式,您可以用空白值替换版本号。
应该在客户端JS或服务器端JS做什么? –
你可以删除后的所有字符?符号 – Vineesh
它是使用节点构建系统的一部分。是的,我想要所有的角色?到与最初的替换字符串一起删除的关闭脚本标记。 –