gpt4 book ai didi

jquery - 将远程脚本的 http 请求重定向到本地计算机 (Linux) 上的脚本

转载 作者:太空宇宙 更新时间:2023-11-04 03:54:20 24 4
gpt4 key购买 nike

我在工作中经常使用 JQuery 插件,并且在每个页面的顶部加载以下脚本标记:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

但是,有时我会离线,但仍想工作,因此无法从此位置加载脚本。

虽然可以更改所有脚本标记以指向本地副本,但这很烦人。

我认为一个巧妙的解决方案是将任何请求重定向到 http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js到 localhost/home/olly/some_folder/jquery.min.js

我最初想尝试使用/etc/hosts,但这不能满足我的需要。

有没有其他方法不需要安装额外的软件就能一直运行?

我还应该注意,出于各种原因,我不想在上传此网站的服务器上存储文件的本地副本。

最佳答案

那么,你有 3 4 种可能性:

  1. (1) 使用纯 JavaScript:
    • 以编程方式添加脚本标记
    • 没有互联网连接时,使用 localhost,否则使用 google

(.)

var local = "http://localhost/your_path/jquery.min.js"
var remote = "http://ajax.googleapis.com/.../jquery.min.js"
var actual = navigator.onLine ? remote : local;



var head = document.getElementsByTagName("head")[0];
var s = document.createElement("script");
s.type = "text/javascript";
s.src = actual;
head.appendChild(s);

如果您还需要 css,请使用此:

s = document.createElement("style");
s.type = "text/css"
s.src = "yyy.css";
head.appendChild(s);
  • (2) 安装 nginx 并将 googleapis.com 添加到您的/etc/hosts 文件中,并将其指向 127.0.0.1。
  • 然后,您为 ajax.googleapis.com 域设置基于虚拟名称的托管并在基于虚拟名称的应用程序的根文件夹中创建一个文件夹 /ajax/libs/jquery/1.7.2 ,其中包含文件 jquery.min.js

  • (3) 使用服务器端框架写出脚本 URL,例如 ASP.NET/PHP
    为此,您可能需要know how to test for an internet connection使用 WinAPI
  • PS:或 4. 设置名称服务器,将其与 ip 127.0.0.1 添加到 resolv.conf,然后将 googleapis.com 放入其中,解析为 127.0.0.1。将名称服务器设置为手动启动。当您离线时,启动名称服务器,每次您调用 ajax.googleapis.com 时,它都会重定向到本地主机;)Bind9 或 powerdns 将是很好的名称服务器。然而,使用数据库设置 powerdns 有点棘手。 Bind9 对于区域文件来说更好,但当您需要 DLZ(数据库)时就很难看了。

    关于jquery - 将远程脚本的 http 请求重定向到本地计算机 (Linux) 上的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25259141/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com