2

ページ内の新しい要素、つまり DOM ツリーの更新を定期的にチェックする JavaScript スクリプトを作成しています。これらの特定の要素の 1 つに、他のページへのハイパーリンクが含まれています。私の目的は、そのページの GET を実行し、結果を DOM オブジェクトに変換して、そのページ内の特定の要素の特定のイベントをトリガーすることです。これを行うvar newPage = window.open(hyperlink);と、 を介してページ内の要素にアクセスできますnewPage.document.getElementById('elementId');。ただし、スクリプトは多くのハイパーリンクを繰り返し処理するため、それらすべてを開くのは効率的ではありません。

では、ページ全体のオブジェクトを効率的に操作する方法、つまりページを開かずに操作する方法はありますか (例: $.get(hyperlink, function(page) { // convert page to DOM });)?

ご回答ありがとうございます。

4

1 に答える 1

0

おそらく、あなたは間違ったアプローチを取っています。ページを DOM に変換するのではなく、単純に正規表現でリンクを検索する必要があります。これは明らかに、ページのコンテンツを利用する最も効率的な方法です。ただし、確かに、適切に行うのも面倒であり、javascript によって追加されたリンクは考慮されていません。

それはあなたのスコープが何であるかに完全に依存します。これを達成するための効率的な方法を探していると言うなら、私はこの解決策を提案します。そうしないと、どのようにスライスしても、ページ全体を DOM に解析する「迅速な」方法はありません。

これにより、html リンクを抽出するための正規表現を開始できます。

于 2012-09-07T12:00:04.217 に答える