# 前端使用js代码在加载过程中替换指定链接

- 连结：https://blog.guohao.asia/%e5%89%8d%e7%ab%af%e4%bd%bf%e7%94%a8js%e4%bb%a3%e7%a0%81%e5%9c%a8%e5%8a%a0%e8%bd%bd%e8%bf%87%e7%a8%8b%e4%b8%ad%e6%9b%bf%e6%8d%a2%e6%8c%87%e5%ae%9a%e9%93%be%e6%8e%a5.html
- 发布时间：2023-04-26T16:28:03+08:00
- 作者：null

中文   英文   韩语   日语

在页面中使用 JavaScript 动态替换由 cdnjs.cloudflare.com 加速的内容为由自己的 CDN
加速的示例代码：

    ```language-default
    // 获取所有链接元素
    var links = document.getElementsByTagName("link");

    // 遍历所有链接元素
    for (var i = 0; i < links.length; i++) {var link = links[i];
      var href = link.href;

      // 将链接中的 cdnjs.cloudflare.com 替换为自己的 CDN 主机名
      if (href.indexOf("cdnjs.cloudflare.com") !== -1) {link.href = href.replace("cdnjs.cloudflare.com", "yourcdn.com");
      }
    }

    // 获取所有脚本元素
    var scripts = document.getElementsByTagName("script");

    // 遍历所有脚本元素
    for (var i = 0; i < scripts.length; i++) {var script = scripts[i];
      var src = script.src;

      // 将脚本中的 cdnjs.cloudflare.com 替换为自己的 CDN 主机名
      if (src.indexOf("cdnjs.cloudflare.com") !== -1) {script.src = src.replace("cdnjs.cloudflare.com", "yourcdn.com");
      }
    }
    ```

这段代码会遍历页面上的所有链接元素和脚本元素，并将其中由 cdnjs.cloudflare.com 加速
的链接替换为由自己的 CDN 加速的链接。如果需要替换其他类型的资源链接，只需修改代码
以匹配相应的元素即可。

需要注意的是，这种方式可能会影响页面性能，因为可能会增加页面的加载时间。而且，如果
你的 CDN 主机名与主域名不同，则可能会受到浏览器的同源策略的限制。因此，最好的方法
是在服务器端进行替换，以便保证性能和安全。
