もくじ
運用している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
もくじ
PlayCanvasのOrbit-cameraを制御して指定位置にカメラを移動させる
2023年2月27日(月) 10時7分43秒 | 351 viewAmong us向けヘルパーツールを作りました「Among us ビジュアルヘルパー」
2021年3月8日(月) 15時23分32秒 | 233 view11/28を過ぎて停止したHerokuアプリを課金して復旧した方法
2022年12月6日(火) 4時50分5秒 | 182 viewnovelで書いたmarkdownを保存できるようにする
2023年11月28日(火) 16時48分34秒 | 109 view埋め込み要素(iframe / embed)をいい加減対応させたい
2021年6月9日(水) 1時2分54秒 | 78 view