长话短说,我正在制作一个供个人使用的快速扩展——没什么大不了的。假设我们有大约 50 个 URL 适合我在页面上查找的内容,总共可能有 100 个 URL。我的目标是将所有包含的 URLexample.com/xyx
转换为otherexample.com/xyz
. 自然,这就是我所拥有的:
$(document).bind('DOMSubtreeModified', processLinks);
$(document).ready(processLinks);
function processLinks(){
$('a').each(function(){
this.href = this.href.replace("example.com","otherexample.com");
});
};
但是,这再次严重影响了性能。在我过去的经验中,我会尝试只抓取包含 的链接,example.com
然后进行更改。或者,也许更好的是,仅当它们在屏幕上时才抓取并进行转换。
我的意思是,可以执行以下操作:
$('a.title, a.madeVisible, .md [href*="example.com"]')
但是,由于这是我的第一次尝试,而且我没有比基本功能更进一步,我不知道如何优化它以仅在必要时捕获链接,然后实际实现它。你有什么建议吗?
谢谢!
更新代码:
$('body').on('mouseover', 'a', function(e) {
e.preventDefault();
if(this.href.match(/example.com/g)){
this.href = this.href.replace('example.com', 'newexample.com');
}
});