gpt4 book ai didi

javascript - 使用 Greasemonkey 替换图片链接?

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

我是 Greasemonkey 的新手,我想用 <img> 替换图片链接改为标记。

例如,this forums page有一堆链接,例如:

<a target="_blank" href="http://url.com/pic.gif">http://url.com/pic.gif</a>

我想用如下图片替换这些链接:

<img src="http://url.com/pic.gif">


我在网上搜索并设法找到类似 this Greasemonkey user's group 的内容.
但是,我编辑的代码:

var i, x = document.evaluate (
'//*[@target="_blank"][@href="="]',
document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null
);
for (i = 0; i < x.snapshotLength; i++)
x.snapshotItem(i).setAttribute("href", "img src");

似乎不起作用。

请告知我应该如何创建此脚本。

最佳答案

替换图片链接并不难。但是,我建议您保留链接但显示其中的图片。这样您就可以在出现问题时单击。例如,that sample page you gave大部分链接图片都在死网站上。

其他链接图像只是看起来指向图像或可能因“热链接”而被阻止。

为了使代码健壮和简单,我们使用 jQuerywaitForKeyElements .

这里是一个完整的工作脚本,可以解除that sample site 上的有效载荷 图片链接| :

// ==UserScript==
// @name _Image delinker
// @include http://forums.hardwarezone.com.sg/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant GM_addStyle
// ==/UserScript==

var imageExtensions = ["gif", "png", "jpg", "jpeg"];
var imgExtRegex = new RegExp(
'\\.(' + imageExtensions.join ('|') + ')$', 'i'
);

/*-- Tune the CSS path, for each site, to only find links that can be
the image links you care about.
*/
//-- For forums.hardwarezone.com.sg
waitForKeyElements ("td.page div > a", delinkImage);

function delinkImage (jNode) {
var imgUrl = jNode.attr ("href");

if (imgExtRegex.test (imgUrl) ) {
//-- Found an image link. Replace contents.
jNode.html (
'<img src="' + imgUrl
+ '" class="gmDeLinked" alt="GM replaced image">'
);
}
}

GM_addStyle ( " \
img.gmDeLinked { \
border: 1px solid lime; \
max-width: 90vw; \
} \
" );

关于javascript - 使用 Greasemonkey 替换图片链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16691418/

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