1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Android版Chrome(ver77)でブラウザのcomfirmダイアログが消える原因

Last updated at Posted at 2019-10-08

現象

フォームの入力画面において、ボタンをタップするとwindow.confirmダイアログが一瞬表示されたのちに消える。
→ダイアログのOKボタンでformのPOST送信処理を実行しているので送信できない!
確認した端末:Android(6,7,8)版chrome(ver77)。
※iOS版は未確認。
Android版chrome(ver76)では発生しませんでした。

原因はFacebook Pixel

こちらの記事と同じ条件で発生しました。
Facebook Pixel CodeとGoogle Chrome75の相性が良くない件について

ボタンをクリックした時にFacebook PixelのPOSTが悪さをしています。
Facebook Pixelとは

Facebook Pixelはページ内のどのjsが呼び出しているのか?

ページ内の管理担当外のどこかに埋め込まれた<script>タグが怪しいのでChrome Developer Toolsを使ってつきとめます。
マーケティング担当領域の計測関連のjsが呼び出していました。
developer.png

  1. [Network]パネルを開き、左のFilterとある入力欄にfbevents.jsと入力
  2. Initiator列を見る。(fbevents.jsの呼び出し元が表示されている)
  3. 呼び出し元のjsがHTMLの<script src="~.js">に記述されていなければ、更にそのjsのInitiatorを確認
    ※ページのソース内の<script src="~.js">にたどり着くまで繰り返す

対処方法

  1. そのページだけfbevents.jsを呼び出さないように修正する
  2. Facebook Pixelのコードをカスタマイズする。(特定のボタンだけイベント追加させるなど)
    対応方法参照:Facebook ピクセル のコード埋め込みについてメモ
    Facebook Pixel Advanced
  3. confirmのOKボタンを押した後のPOST送信処理を修正する
    対応方法参照:Facebook Pixel CodeとGoogle Chrome75の相性が良くない件について

参考

この記事は以下の情報を参考にしました。大変お世話になりました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?