私はクロム拡張機能を開発しているので、許可を求めているドメインの XMLHttpRequests に対するクロスホスト許可を持っています。
XMLHttpRequest を使用して、HTML Web ページ (txt/html) を取得しました。XPath (document.evaluate) を使用して、そこから関連するビットを抽出したいと考えています。残念ながら、返された html の文字列から DOM オブジェクトを作成できません。
var xhr = new XMLHttpRequest();
var name = escape("Sticks N Stones Cap");
xhr.open("GET", "http://items.jellyneo.net/?go=show_items&name="+name+"&name_type=exact", true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(xhr.responseText,"text/xml");
console.log(xmlDoc);
}
}
xhr.send();
console.log
Chromium JS コンソールにデバッグ内容を表示することです。
上記のJSコンソールで。私はこれを得る:
Document
<html>
<body>
<parsererror style="display: block; white-space: pre; border: 2px solid #c77; padding: 0 1em 0 1em; margin: 1em; background-color: #fdd; color: black">
<h3>This page contains the following errors:</h3>
<div style="font-family:monospace;font-size:12px">error on line 1 at column 60: Space required after the Public Identifier
</div>
<h3>Below is a rendering of the page up to the first error.</h3>
</parsererror>
</body>
</html>
では、どのように XMLHttpRequest を使用すると思いますか -> HTML を受信 -> DOM に変換 -> XPath を使用して横断しますか?
DOM オブジェクトの読み込み/受信に「隠された」iframe ハックを使用する必要がありますか?