Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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_Jquery_Html_Image_Performance - Fatal编程技术网

Javascript 加载没有图像的网站以提高效率

Javascript 加载没有图像的网站以提高效率,javascript,jquery,html,image,performance,Javascript,Jquery,Html,Image,Performance,我有一个chrome扩展,当我按下一个按钮时,它会进入一个url,在那里它会点击按钮并搜索内容。我希望它运行尽可能快,所以我想去的网址,而不是加载任何图像,所以它可以运行得更快,我尝试了 $('img').remove(); 在网站的控制台中 () 这确实删除了所有的图像,但我想知道是否有更好的方法来做到这一点,因为似乎我必须加载网站时,我去它,然后它将删除所有的图像 有没有办法让它访问此网站,但在加载网站之前以某种方式删除图像以节省时间?一个选项是在Tampermonkey/Greasemo

我有一个chrome扩展,当我按下一个按钮时,它会进入一个url,在那里它会点击按钮并搜索内容。我希望它运行尽可能快,所以我想去的网址,而不是加载任何图像,所以它可以运行得更快,我尝试了

$('img').remove();
在网站的控制台中 ()

这确实删除了所有的图像,但我想知道是否有更好的方法来做到这一点,因为似乎我必须加载网站时,我去它,然后它将删除所有的图像


有没有办法让它访问此网站,但在加载网站之前以某种方式删除图像以节省时间?

一个选项是在Tampermonkey/Greasemonkey(或类似Style的插件中的自定义样式表)中创建一个用户脚本,以确保
img
s始终获得
显示:无
。例如:

// ==UserScript==
// @name         Hide Images
// @namespace    CertainPerformance
// @version      1
// @match        https://stackoverflow.com/*
// @grant        none
// @run-at       document-start
// ==/UserScript==

document.head.appendChild(document.createElement('style')).textContent = `
img {
  display: none !important
}
`;
安装此用户脚本,打开浏览器的“网络”选项卡,然后导航到stackoverflow.com上您以前从未访问过的位置,即您的浏览器以前未加载海报图像的位置。有了这个用户脚本,您将看到到
www.gravatar.com
的化身图像请求从未发送出去-没有下载任何不需要的内容

请注意

// @run-at       document-start
重要的是,如果不这样做,用户脚本将在初始页面加载后运行,这将使浏览器在脚本运行之前有几毫秒的时间开始下载图像以准备显示它们

当然,可以根据需要进行自定义-更改

// @match        https://stackoverflow.com/*
指向要在其上隐藏图像的URL


也就是说,如果您想在另一个页面上运行自动脚本来收集数据,那么使用像
fetch
这样的普通请求,然后将响应文本解析为文档,并搜索文档可能会更有效,而不是在浏览器中加载一个全新的页面。

我尝试了document.head.appendChild(document.createElement('style')).textContent=`img{display:none!important}`;window.open(“);但它不起作用。正如答案所说,您需要更改
@match
以匹配要在其上隐藏图像的站点。您也不能使用
window.open
这样,您必须使用用户脚本(或类似的东西),在页面加载时自动运行的东西。我需要删除你放入的//吗?我不明白你为什么要放入这些内容。不,
/
是必需的-它需要在userscript的元数据块中。它就像我键入的一样。我尝试过它,但它不起作用//==userscript=/@name Hide Images/@namespacePerformance/@version 1//@match*/@grant none/@在文档开始时运行//=/UserScript==document.head.appendChild(document.createElement('style')).textContent=`img{display:none!important;}`;window.open(“)