読者です 読者をやめる 読者になる 読者になる

XMLなページ用document.write

JavaScript
if(window.DOMParser) {
  document.getCurrentScript = function() {
    var ss = document.getElementsByTagName('script');
    for(var i = ss.length-1; i >= 0; i--)
      if(ss[i].id.search('_firebug') != 0)
	return ss[i];
  };

  parser = new DOMParser();
  document.write = function(str) {
    var pos = document.getCurrentScript();
    if(!pos._nextElem)
      pos._nextElem = pos.nextSibling;

    var root = parser.parseFromString('<div>'+str+'</div>', 'application/xml').documentElement;
    while(root.childNodes.length)
      pos.parentNode.insertBefore(root.childNodes[0], pos._nextElm);
  };

  document.writeln = function(str) {
    document.write(str + '\n');
  }
}

innertHTMLだとscript要素の挿入がなぜか出来なかったのでDOMParserを使っている。