ポク太郎です。
10年←高齢者にとってはつい最近こと。
でも高齢者の常識をないがしろにするGoogleに叱られました。
Document.writeメソッドは使用しないで下さい。
インターネット大王に叱られたら成す術が無いので、その代替手法を勉強しました。
document.writeメソッドは廃止!
JavaScriptの計算結果をHTML内部にそのまま表示させてくれるありがたい簡単命令document.write()。
var tmp='書き込むテキスト'; document.write(tmp);
これだけで「書き込むテキスト」とHTML内に表示されます。
が、この機能が廃止されるとのこと。つい最近10年位前の話。
document.writeの代替手法探す
こちらのページによると、insertAdjacentHTML()メソッドが使えるらしい。
let elem = document.getElementById('id指定するエレメント'); elem.insertAdjacentHTML(posi, '書き込むテキスト')
挿入する位置を引数posiで以下のように指定。
引数posiの値 | 意味 |
‘beforebegin’ | エレメントの前に追加 |
‘afterbegin’ | エレメントの子要素の先頭に追加 |
‘beforeend’ | エレメントの子要素の最後に追加 |
‘afterend’ | エレメントの後に追加 |
なので、HTML内にこうエレメントを設置し、
<div id="debug"></div>
こういうJavaScriptを書くと、上記エレメント前に表示してくれます。
var tmp='書き込むテキスト'; let elem = document.getElementById('debug'); elem.insertAdjacentHTML('beforebegin', tmp);
表示領域~
~
表示領域。ただしこの代替手法は上位互換にならず
でも上記代替手法insertAdjacentHTML()メソッドはdocument.write()の上位互換にならず。
理由はHTML挿入先の指定が必須になるから。
つまり、どこどこに作れと指定しないといけないなら全ページのHTMLにid名で指定したエレメントを準備しないといけないてことに←結構面倒くさい。
document.write()の便利なところはJavaScriptが走った部分に無条件に表示してくれた点。
HTML修正一切無しでJavaScriptだけ修正てパターン例が存在し得るかパッと思い付かないが。
場所指定の無い仕様が不明確てのが廃止の理由かも知れんが、その点は面倒になるね。
廃止するくらいなら最初から策定すんじゃねーよ。高齢者はそう簡単に軌道修正できないんだぞ。
「恵まれない高齢者に愛の手を」って学校で習わなかったのか?
コメント