[]GM_xmlhttpRequestのres.responseTextなどのXML文字列をDOMパースする正当なやり方

(23:15追記)前振りを追加。

普通の一般的なXMLHttpRequestでは、受信したデータのプレーンテキストであるres.responseTextとともに、それをDOMパースしてくれたres.responseXMLの両方を提供してくれるが、Greasemonkeyの独自拡張であるGM_xmlhttpRequestではres.responseTextしか返してくれない。

そこで、例えば「はてなグリースモンキー - マイミクシィ日記を番組表に表示」では

GM_xmlhttpRequest({
  method: "GET",
  url: xml_url,
  onload: function(res) {
    var responseXML = document.createElement('div');
    responseXML.innerHTML = res.responseText;
    // do something 
  }
});

という感じでパースしていた。

しかし、調査してみたところDOMParserという文字通りのクラスに含まれるparseFromStringを使えばOK(というより使うべき?)でした。

GM_xmlhttpRequest({
  method: "GET",
  url: xml_url,
  onload: function(res) {
    var responseXML = (new DOMParser).parseFromString(res.responseText, "application/xml");

    // do something 
  }
});

[]『はてなRSS番組表はてなアンテナ更新情報を付けるGMスクリプト』をアップデート

アップデートなど詳しくは専用ページ id:Yuichirou:10000409#rsstable_mix をご覧ください。

コメント
0件
トラックバック
3件
ブックマーク
0 users
プロフィール更新
熟考の末応募することにした。
Yuichirou
Yuichirou