もくじ
運用している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から試して欲しい
https://liff.line.me/1654368044-RwMLW80k
LIFFで実行する場合は以下URLをコピーしてLINE上にペースト、初回起動でアクセスを許可して実行可能。
URL:https://liff.line.me/1654368044-RwMLW80k
これは通常のWebブラウザで期待する動きと異なった動作なのでLINE側の修正が入ってくれないと困るバグ、、、
ご対応よろしくお願いいたします。
ここで報告してみた
### 前提・実現したいこと LIFF上でwindow.prompt()を実行した際に、通常のWebページの挙動と異なる動作をします。 ### 発生している問題・エラーメッセージ ``` ...
www.line-community.me
もくじ
目次を作りたい→作った
2020年10月29日(木) 11時1分28秒 | 162 viewmicroCMSにプリセットで入っているimgixを利用してお手軽に動的OGPを設定する
2021年9月6日(月) 14時33分9秒 | 75 viewGithub Codespaces試してみた
2020年10月24日(土) 16時7分6秒 | 58 viewWebの変更をLINEに通知する仕組みを提供するサービスをココナラに出品しました
2020年10月25日(日) 2時50分32秒 | 32 viewPower Automate Desktopで無理やり時間指定実行を実装したときは気をつけよう
2022年4月25日(月) 2時20分44秒 | 28 view