Q&A

【バグ】LIFFアプリでwindow.prompt()を実行した際に、第2引数に指定したデフォルトメッセージから変更しないで確認を押下した際に、返り値がemptyになる

前提・実現したいこと

LIFF上でwindow.prompt()を実行した際に、通常のWebページの挙動と異なる動作をします。

発生している問題・エラーメッセージ

let comment = window.prompt("LIFFブラウザでwindow.prompt()でdefaultメッセージから変更しない場合、OKを押しても値が渡りません","default message");
if(comment){
	 document.getElementById("output").innerHTML = comment;
}

このようなコードを書いた際に、プロンプトで"default message"から変更せず確認を押下すると commentは空になりif文が通りません。 期待する返り値としては"default message"と文字列で返ってくることを期待しています(通常のWebブラウザではそうなります) また、プロンプトで文字列を変更した場合は問題なく変更後の文字列が返却されます。

該当のソースコード

試したこと

補足情報(FW/ツールのバージョンなど)

詳細はこちらのブログ記事に動作している動画含めレポートしました。

  • 0
  • 1
  • 419
  • twitter facebook

試してみましたが、問題なく動作しました。LIFF側のバグではないかと思われます。

わたしの試した環境

  • Android 11 / iOS 14.4
  • LIFF SDK 2.16.0
  • LINE Version 11.15.0

LIFFはhttps://developers.line.biz/ja/docs/liff/overview/#liff-browser-spec に書いてある通り、iOSではWKWebView、AndroidではAndroid WebViewを利用しているようなので、これにそぐわない動作を意図せずutautattaroさんが行なっている可能性もあるかもしれません。(未検証)

  • 2
本当によろしいですか? question.vm