Hiki2MediaWiki for SRW Wiki 2.2.3 をリリースしました。
変更点は、直りきっていなかった IE8 以下で変換できない問題の修正です。スパロボ Wiki 内で GGG さんから状況を報告していただきながら、修正作業を進めました。協力していただいた GGG さんには厚く御礼申し上げます。
すべての DOM 要素のスナップショットの取得
今回問題になっていたのは、すべての DOM 要素のスナップショットの取得するという箇所。修正前は『JavaScript 第6版』の p. 400 を参考にして
var nodes = document.getElementsByTagName('*'), elements = Array.prototype.slice.apply(nodes, []);
のようにしていた。しかし、IE8 以下では HTMLCollection や NodeList を JScript のオブジェクトとして認識しないらしい(「JavaScriptのDOM Core基礎 - 三等兵」より)
ので、エラーになる。仕方がないので、ループを回してひとつひとつの要素を配列にコピーするようにした。
var nodes = document.getElementByTagName('*'), len = nodes.length, elements = [], i; for (i = 0; i < len; i += 1) { elements.push(nodes[i]); }
このようにすれば IE8 以下でも大丈夫だった。