Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何替换脚本源中的url_Javascript_Jquery_Html_Regex_Scripting - Fatal编程技术网

Javascript 如何替换脚本源中的url

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

有一个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.ashx?scriptfile=%7e%2fCMSScripts%2fRequireJS%2fconfig.js&amp;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&amp;t=7c776dc1" type="text/javascript"></script>
<script src="/Kentico9/ScriptResource.axd?d=zf3zdXaB_cJmg3ZI845HWFeB9wwz6hDKzOk9u8r8LRzjBXOxGqGc8ov1CG1yunKlRYOyRHSZ9KBtNMB3nu1nMQXXiYklnIFMhWV0Xj3pkcNu0JnN6rQtu7_ee21y6R8Tp2tmpXsVH8ZTIabIz8lDAA2&amp;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
    返回新字符串

  • 当您传递字符串作为第一个参数时,它只替换第一个实例,而不是所有实例。要替换all,需要一个带有
    g
    标志的正则表达式

  • 因此:

    请注意,正则表达式中的
    /
    是转义的,否则它们在正则表达式中有特殊意义。

    两件事:

  • replace
    返回新字符串

  • 当您传递字符串作为第一个参数时,它只替换第一个实例,而不是所有实例。要替换all,需要一个带有
    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));
    })