gpt4 book ai didi

jquery - 如何在浏览器不加载引用图像的情况下执行跨域 GET?

转载 作者:行者123 更新时间:2023-12-01 01:28:25 25 4
gpt4 key购买 nike

我在允许跨域 HTTP 请求的环境(即 Chrome 扩展)中使用 $.get()。我用它来抓取一个页面,并刮掉信息以显示给用户。这有效。

唯一的问题是,浏览器会尝试加载抓取页面中引用的每个图像,这会极大地增加数据传输,并且在找到相对 URL 时会在检查器中填满错误。

这是我的代码:

$.get('http://somewebsite.com/page-with-lots-of-images.htm', function(data) {
var thingsICareAbout = $(data).find('#some-id, #some-other-id');
foo(thingsICareAbout);
});

如何在不加载文档中的所有图像的情况下获取#some-id#some-other-id

<小时/>

编辑:只有在进行 $(data) 调用后才会加载图像。不知何故,在 html 字符串上调用它会触发图像加载。还有其他选择吗?

最佳答案

解释了为什么会发生这种情况 here :

If the HTML is more complex than a single tag without attributes, the actual creation of the elements is handled by the browser's innerHTML mechanism. In most cases, jQuery creates a new element and sets the innerHTML property of the element to the HTML snippet that was passed in.

因此,当您执行 $(data) 时,它会在页面上插入所有 html。

如何避免它。如果您正在搜索的内容不需要复杂的 jquery 选择器,也许您可​​以自己解析 html(例如使用...正则表达式 *gulp*)。

关于jquery - 如何在浏览器不加载引用图像的情况下执行跨域 GET?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6958786/

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