2

簡単に言うと、私は個人用の簡単な拡張機能を作成しています。大したことはありません。ページで探しているものに適合する URL が約 50 個あり、合計でおそらく 100 個の URL があるとします。私の目標は、それらを含むすべての URL をexample.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');
  }
});
4

3 に答える 3