プログラミング

Javascriptでウェブページの全ての文字を置換する

使用例:自分のコーディング/作成したウェブページのデザインやレイアウトを友達とかクライアントに見てもらいたいけど、文字がそのまま書いてあるとサイト特定されてしまう。それが嫌な場合。

やり方:以下のJavascriptをファイルなりブックマークレットなりデベロッパーツールコンソールなりで読み込ませます。

var all = document.getElementsByTagName('p');
for (var i = 0; i < all.length; i++) {
    all[i].innerText = all[i].innerText.replace(/./g, "あ");
}
var all = document.getElementsByTagName('a');
for (var i = 0; i < all.length; i++) {
    all[i].innerText = all[i].innerText.replace(/./g, "あ");
}
var all = document.getElementsByTagName('span');
for (var i = 0; i < all.length; i++) {
    all[i].innerText = all[i].innerText.replace(/./g, "あ");
}
var all = document.getElementsByTagName('li');
for (var i = 0; i < all.length; i++) {
    all[i].innerText = all[i].innerText.replace(/./g, "あ");
}
var all = document.getElementsByTagName('h1');
for (var i = 0; i < all.length; i++) {
    all[i].innerText = all[i].innerText.replace(/./g, "あ");
}
var all = document.getElementsByTagName('h2');
for (var i = 0; i < all.length; i++) {
    all[i].innerText = all[i].innerText.replace(/./g, "あ");
}
var all = document.getElementsByTagName('h3');
for (var i = 0; i < all.length; i++) {
    all[i].innerText = all[i].innerText.replace(/./g, "あ");
}
var all = document.getElementsByTagName('h4');
for (var i = 0; i < all.length; i++) {
    all[i].innerText = all[i].innerText.replace(/./g, "あ");
}
var all = document.getElementsByTagName('h5');
for (var i = 0; i < all.length; i++) {
    all[i].innerText = all[i].innerText.replace(/./g, "あ");
}
var all = document.getElementsByTagName('h6');
for (var i = 0; i < all.length; i++) {
    all[i].innerText = all[i].innerText.replace(/./g, "あ");
}

やってること:テキストが書いてありそうなタグすべてのすべてのStringのCharacterを一文字ずつ置換しています。

  • p
  • a
  • span
  • h1-h6

ここらのタグをマークしとけば、とりあえずおkだと思う。

bodyタグのinnerTextを置換すればいいんじゃない?と思われるかもしれませんが、そうするとCSSとかも消えちゃうみたいで、レイアウト崩れます。

document.body.innerText = document.body.innerText.replace(/./g, 'あ');