細かすぎて伝わらないjQuery拡張 (6) “$.escapeHTML” – Advent Calendar 2016
この記事は賞味期限切れです。(更新から1年が経過しています)
$.escapeHTML() は、その名の通りHTML文字列をエスケープするための関数です。
$.escapeHTML()
使い方
var str = "<script>alert(1);</script>";
$.escapeHTML(str); // => "<script>alert(1);</script>"
特に説明の必要はありませんね。
コード
$.escapeHTML = function(str){
var el = document.createElement("i");
el.appendChild(document.createTextNode(str));
return el.innerHTML;
};
文字列をテキストノードとして要素に追加すると勝手にエスケープするので、それを活用します。 HTMLのレンダーをライブラリに頼るようになってからは、(ライブラリがエスケープしてくれるので)単体で使う事は減った気がします。
コメント