プロが教えるわが家の防犯対策術!

ボタンが押されたらWebページの文字コードを
変える、というプログラミングを書きたいです。
目的は文字コードを変えることによる
文字化け演出を作るためです(作ろうとしてるのはホラー系のウェブサイト)

下に現在のコードを書いておきます、
どうしたらいいですか?

<!DOCTYPE html>
<html lang="ja">

<head>
<meta charset="UTF-8">
<!-- other meta tags and stylesheets -->
<title>&#8203;``【oaicite:0】``&#8203;実際に11人で肝試しに行った結果...</title>
<link rel="stylesheet" type="text/css" href="kowai.css">

<body>

<button onclick="startDisplay()">クリックして開始</button>
<audio id="myAudio" src="fuon.mp3"></audio>
<div id="text-container"></div>

<script src="kowai.js"></script>

<button onclick="scrollToTop()" id="buttonEndBGMStop">おわりとBGM停止</button>
<p id="changingText">
<script src="kowai.js"></script>
</p>

<audio id="SandstormAudio" src="砂嵐の音.mp3"></audio>

<script>
function changeCharset(charset) {
document.charset = charset; // Change the character set
document.querySelector('meta[charset]').setAttribute('charset', charset); // Change meta element
}

document.getElementById('buttonEndBGMStop').addEventListener('click', function () {
// When the button is clicked, change the character set and update the text content
changeCharset('Shift_JIS'); // Change to Shift_JIS (you can modify this)
document.getElementById('changingText').innerHTML = '新しいテキストコンテンツ。'; // Replace with your new text
});
</script>

</body>
</html>

質問者からの補足コメント

  • できました!!!ありがとうございます!

      補足日時:2023/11/21 16:40

A 回答 (1件)

charset は読み取り専用ですので変更できません


https://developer.mozilla.org/ja/docs/Web/API/Do …

単純に、ページ内のテキストの全てを別な文字列に置き換えましょう
例)
document.querySelectorAll('html>body *').forEach(e => {
_ Array.from(e.childNodes)
_ .filter(n => n.nodeType == 3)
_ .forEach(n => {
_ _ var s = n.textContent;
_ _ var t = s.replaceAll(/[\u0080-\uFFFF]/g, c => {
_ _ _ var n = c.charCodeAt(0);
_ _ _ var m = (n << 8) & 0xFF00 | (n>>8) & 0x00FF;
_ _ _ return String.fromCharCode(m);
_ _ });
_ _ n.textContent = t;
_ });
});
    • good
    • 1
この回答へのお礼

回答ありがとうございます。

こんな感じの文をボタンの下に入れれば
いいのでしょうか?

お礼日時:2023/11/21 16:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A