2012-02-22 6 views
0

私は複数のページを解析する必要があるウェブサイトのブックマークレットを作っています。私はDOMParserを試しましたが、xmlオプションでエラーが発生し、htmlでnullが返されます。私はjQueryを試しましたが、DOMParserを途中で使用していると確信しています。 PHPで正しく動作しますが、Webページへのリクエストを2倍にする必要はありません。javascriptでよく書かれていないHTMLを解析していますか?

xmlまたはhtmlを解析するためのスタンドアロンのjavascriptプラグインを探しています。

ありがとうございます!

+1

参照 - http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – ChrisF

+0

DOMParserを使用するためのコードを投稿できますか? – pyramation

+1

@ChrisF、私はRegexを探しているわけではなく、ちょうどパーサーです。私は、PHPやJavascriptの組み込みパーサの背後で何が起こるのかを少しでも手掛かりにしていませんが、正規表現なしでは不可能であると言っていますが、実用的ではありません。 – mowwwalker

答えて

1

DOMを使用してHTMLを「解析する」ことはできませんか?

あなたは、同じ現在のページから複数のページを行うのiFrame内の他のページをロードし、それらをdocument.frame[0].contentWindow.document

EDITのようにDOMにアクセスする必要がある場合:あなたは他のページで外部ファイルをロード避けたい場合は、スクリプトを実行してから、Ajax(XMLHttpRequest)を使用して各ページを取得します。各ページごとにvar newdiv = document.createElement('script'); newdiv.innerHTML = ajaxcontent;のようなコードを使い、DOMを使ってnewdivからコンテンツを読み込みます。ページにnewdivを追加しない場合は、DOMParserを使用する場合と同じように軽量にする必要があります。

+0

いいえ、これは複数のページで実行する必要があり、リソースが非常に重いことになります。 – mowwwalker

+0

私の提案されたソリューションは、あなたのソリューションよりも適切ではないということについて詳しく説明してください。私があなたの提案した解決策を見ている唯一の欠点は、他のページを読み込むとスクリプトの外部ファイルが読み込まれることです。その場合は、「EDIT」の後に私の更新答えを見てください。 –

+0

...コンテンツをDOMにロードすると、すべての画像、すべてのメディアなどをロードすることになります。 – mowwwalker

関連する問題