Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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 如何禁用网页中无法访问的资源的加载?_Javascript - Fatal编程技术网

Javascript 如何禁用网页中无法访问的资源的加载?

Javascript 如何禁用网页中无法访问的资源的加载?,javascript,Javascript,在我的国家,大多数谷歌服务器IP都被屏蔽,所以如果我们想访问这些IP,就必须使用VPN。这似乎包括ajax.googleapis.com等网站。问题是有很多网站使用ajax.googleapis.com作为加载一些javascript库的地方。然而,这些网站本身并没有被封锁。因此,在VPN不可用的情况下,我希望能够访问这些站点,在加载这些无法访问的资源超时之前,我必须等待相当长的时间(至少这似乎是原因)。此外,我认为一些谷歌统计网站在页面中的引用也受到这样的问题 例如,以下内容取自此链接:

在我的国家,大多数谷歌服务器IP都被屏蔽,所以如果我们想访问这些IP,就必须使用VPN。这似乎包括ajax.googleapis.com等网站。问题是有很多网站使用ajax.googleapis.com作为加载一些javascript库的地方。然而,这些网站本身并没有被封锁。因此,在VPN不可用的情况下,我希望能够访问这些站点,在加载这些无法访问的资源超时之前,我必须等待相当长的时间(至少这似乎是原因)。此外,我认为一些谷歌统计网站在页面中的引用也受到这样的问题

例如,以下内容取自此链接:



window.jQuery | | document.write(“”)
对此有许多潜在的解决方案,但对于不想编写自己的浏览器扩展或开始运行第三方软件的人来说,这里可能是最容易实现和理解的解决方案

修改主机文件 只需在hosts文件中添加以下行

 mywebsite.com ajax.googleapis.com
你可以很容易地找到你的主机文件

在*nix系统(mac/linux)上,它通常位于
/etc/hosts

在windows系统上,它通常位于
%SystemRoot%\System32\drivers\etc\hosts

您可以在以下位置找到在其他操作系统上查找它的完整列表:

现在,每当您的浏览器(或任何其他软件)被指示从ajax.googleapis.com检索任何内容时,它都会在mywebsite.com上查找(使用您自己的服务器,甚至本地主机!)


现在只需将所有公共库(如jQuery)放到mywebsite.com上,它就会从那里加载这些库。任何包含这些库的网站都可以像访问谷歌一样工作

为什么不在你自己的网站上托管这些文件?@jeff也许你的解决方案与下面的Darren H答案相同。这是一个可能的解决方案,但我必须自己维护一个网站或其他东西。我的第一印象是,可以使用一些扩展来禁用它,或者当我在第一个位置发现此类链接时设置替代URL,然后它记录到数据库中。通过进一步搜索,我找到了解决此问题的方法。谢谢,一个可能的解决方案。但是请看我对jeff的回复。如果您找到一个维护所有公共库的最新副本的站点,那么您可以在主机文件中设置该站点。但要确保这是一个你信任的网站!如果您使用其他外部站点为您提供jQuery文件,而该站点遭到黑客攻击,黑客可能会在jQuery文件中放入恶意代码,这可能会给您带来各种问题。也许你可以自己托管,让你的服务器每周自动从谷歌提取一次,这样你就可以随时获得最新的代码。我相信在我认为是这样一个服务器的地方会有一个完整的文件列表。但是“主机”映射解决方案有一个问题,我需要将库的确切路径从ajax.googleapis.com路径映射到cdnjs.com路径。因此,我认为浏览器扩展更可行。然后我的问题仍然是如何用javascript处理这个替换。好吧,也许我不得不写一个扩展?也许这样的扩展已经存在?