もくじ
運用しているLIFFアプリでwindow.prompt()を使っているのだけれど、ある時から、promptのデフォルトメッセージそのままだと処理が進行しないというバグ報告をもらった。
該当の部分はこちら
if (comment = window.prompt("[ユーザー名:" + displayname + "]で申込します。\n\nコメントをどうぞ!","よろしくおねがいします")) {
こちらがデフォルトの"よろしくおねがいします"のまま確認ないしはOKを押すとcommentには"よろしくおねがいします"が入力されるはずだが、commentは""のままらしくif文が通らないらしい。prompt画面でメッセージを修正すると、問題なく修正されたメッセージが入る。
検証してみた。
以下のようなhtmlを作成
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>LIFF window.confirm test</title>
</head>
<body>
<input type="button" onClick="buttonclick()" value="button"></input>
<p>output : <span id="output"></span></p>
<script>
function buttonclick(){
let comment = window.prompt("LIFFブラウザでwindow.prompt()でdefaultメッセージから変更しない場合、OKを押しても値が渡りません","default message");
if(comment){
document.getElementById("output").innerHTML = comment;
}
}
</script>
</body>
</html>スマホブラウザから実行すると問題なくpromptの返り値がデフォルトでも表示される
だがLIFFで実行した場合、デフォルトのままだと返り値はemptyで、変更して初めて戻り地がメッセージになった
ぜひ手元の端末で以下のURLから試して欲しい
Tap here to open the link....
liff.line.me
ここで報告してみた

We've migrated the following contents from the LINE Developers Community site to the LINE Developers...
developers.line.biz
もくじ
反Apple信者の私が移動用のメインマシンをiPad Pro(第5世代) 12.9インチに変えてからしばらく経ったので現在の構成を紹介
2022年8月9日(火) 15時27分41秒 | 1044 viewnuxt.jsでテキストボックスクリック時にテキストを全選択する
2021年6月1日(火) 14時2分16秒 | 146 viewコロナやばすぎ
2023年8月23日(水) 13時30分10秒 | 129 viewnovelで書いたmarkdownを保存できるようにする
2023年11月28日(火) 16時48分34秒 | 109 viewPlayCanvasを使用してLooking Glassアプリを作成する:Looking Glass WebXR SDKの利用ガイド
2023年6月9日(金) 23時55分47秒 | 89 view