web-dev-qa-db-ja.com

JavaScriptアラートボックスのテキストをフォーマットする

JavaScriptアラートボックスのテキストをフォーマットするにはどうすればよいですか?テキストに下線を引くにはWordが必要です。

28
praveen

次のもののみ使用できます。

\b = Backspace 
\f = Form feed 
\n = New line 
\r = Carriage return 
\t = tab
\000 = octal character 
\x00 = hexadecimal character 
\u0000 = hexadecimal unicode character

そのため、異なる [〜#〜] ascii [〜#〜] 文字を挿入できますが、フォーマットすることはできません(italicまたはなど)太字)。

[〜#〜] edit [〜#〜]言及する必要があります。実際、alerttoString変換のように振る舞うため、タグやスタイルを含む不可能です。

27
vladkras

ユニコード文字_'\u0332'_を使用して、_COMBINING LOW LINE_と呼ばれる文字列に下線を引きます

_function underline(s) {
    var arr = s.split('');
    s = arr.join('\u0332');
    if (s) s = s + '\u0332';
    return s;
}

var str = underline('hello world'); // "h̲e̲l̲l̲o̲ ̲w̲o̲r̲l̲d̲"

alert(str);
_

この方法は、滑らかな下線を生成することを保証しません。

Firefox 59でのconfirm()の例:

firefox confirm u0332

9
Paul S.

警告ボックス内のテキストのスタイルは設定できません。ただし、代わりにモーダルボックスソリューションを使用することができます。以下にリストを示します。

3
Igor

私の場合、JavaScriptファイルを使用して国際化を作成しました。各ボタンにニーモニックが必要だったので、簡単な解決策を探していました。実際、私は望みの結果を得るための簡単なアプローチを持っています:

\u0332はUnicode文字です COMLINEING LOW LINE

この文字を使用すると、単一の文字に下線を引くことができます。

デモンストレーション:

alert('S\u0332earch - s underlined');

i18n = {};

i18n.SEARCH = "S\u0332earch - s underlined";

document.getElementById('search').innerHTML = i18n.SEARCH;
<button id="search"></button>
2
GuyT

これはひどく必要でしたが、特に役立つ答えはありませんでした。 2つの答えが示唆するように、解決策はUnicodeを使用することですが、これを適切に行う必要があります!また、毎回車輪を再発明する必要のない、より再利用可能なソリューションが必要でした。そこで、便宜上 この小さなjavascript関数 を考え出しました。

alert('Really need to alert some '+toUnicodeVariant('underlined', 'bold sans', 'underline')+' text');
<script src="https://rawgithub.com/davidkonrad/toUnicodeVariant/master/toUnicodeVariant.js"></script>

すべての主要なブラウザでこのようなものを生成する必要があります(上記のコードスニペットを実行してみてください):

enter image description here

1
davidkonrad

できません。外部ライブラリを JQuery UIダイアログ または独自の実装として使用します。

1
Sirus64