Javascript 如何替换脚本源中的url
有一个url /Kentico9/CMSPages/GetResource.ashx 在下面的脚本中Javascript 如何替换脚本源中的url,javascript,jquery,html,regex,scripting,Javascript,Jquery,Html,Regex,Scripting,有一个url /Kentico9/CMSPages/GetResource.ashx 在下面的脚本中 <script src="/Kentico9/CMSPages/GetResource.ashx?scriptfile=%7e%2fCMSScripts%2fRequireJS%2frequire.js" type="text/javascript"></script> <script src="/Kentico9/CMSPages/GetResource.as
<script src="/Kentico9/CMSPages/GetResource.ashx?scriptfile=%7e%2fCMSScripts%2fRequireJS%2frequire.js" type="text/javascript"></script>
<script src="/Kentico9/CMSPages/GetResource.ashx?scriptfile=%7e%2fCMSScripts%2fRequireJS%2fconfig.js&resolvemacros=1" type="text/javascript"></script>
<script src="/Kentico9/CMSPages/GetResource.ashx?scriptfile=%7e%2fCMSScripts%2fcms.js" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
if ((window.originalPostback == null) && (window.__doPostBack != null)) { window.originalPostback = __doPostBack; __doPostBack = __doPostBackWithCheck; }
//]]>
</script>
<script src="/Kentico9/ScriptResource.axd?d=_9yHV47QJb18THQ6kRwtMTYWP8AyLTDDz_ezsjVynWQhicLV_U3iBRnjAic5MX-xDgyPX48_xtLVYXhKOv2UCJKAoTTMC4wGhtJzijblJUqnor1iJ4U59KPu7436hU-u0&t=7c776dc1" type="text/javascript"></script>
<script src="/Kentico9/ScriptResource.axd?d=zf3zdXaB_cJmg3ZI845HWFeB9wwz6hDKzOk9u8r8LRzjBXOxGqGc8ov1CG1yunKlRYOyRHSZ9KBtNMB3nu1nMQXXiYklnIFMhWV0Xj3pkcNu0JnN6rQtu7_ee21y6R8Tp2tmpXsVH8ZTIabIz8lDAA2&t=7c776dc1" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
var CMS = CMS || {};
CMS.Application = {
"isRTL": "false",
"isDebuggingEnabled": true,
"applicationUrl": "/Kentico9/",
"imagesUrl": "/Kentico9/CMSPages/GetResource.ashx?image=%5bImages.zip%5d%2f",
"isDialog": false
};
到
我尝试替换以下脚本,但该脚本不起作用
var res = "entire html source shown above";
res.replace('/Kentico9/', 'http://localhost/Kentico9/');
我是如何做到这一点的?专门为
imageURL
res.replace('"imagesUrl": "/Kentico9/', '"imagesUrl": "http://localhost/Kentico9/');
专门针对
imageURL
res.replace('"imagesUrl": "/Kentico9/', '"imagesUrl": "http://localhost/Kentico9/');
两件事:
replace
返回新字符串g
标志的正则表达式/
和
是转义的,否则它们在正则表达式中有特殊意义。两件事:
replace
返回新字符串g
标志的正则表达式/
和
是转义的,否则它们在正则表达式中有特殊含义。使用此选项
var remove = "/Kentico9/CMSPages/GetResource.ashx";
var newLink = "http://localhost/Kentico9/CMSPages/GetResource.ashx";
$('script').each(function(){
var link = $(this).attr('src');
$(this).attr('src', link.replace(remove, newLink));
})
用这个
var remove = "/Kentico9/CMSPages/GetResource.ashx";
var newLink = "http://localhost/Kentico9/CMSPages/GetResource.ashx";
$('script').each(function(){
var link = $(this).attr('src');
$(this).attr('src', link.replace(remove, newLink));
})
3.无法在内部定义RegExp对象quotes@WiktorStribiżew:我相信引号中的
/
是OP想要替换的部分,而不是regex分隔符。无法在内部定义RegExp对象quotes@WiktorStribiżew:我相信引号中的/
是OP想要替换的部分,而不是regex分隔符。
var remove = "/Kentico9/CMSPages/GetResource.ashx";
var newLink = "http://localhost/Kentico9/CMSPages/GetResource.ashx";
$('script').each(function(){
var link = $(this).attr('src');
$(this).attr('src', link.replace(remove, newLink));
})