質問編集履歴

1 タイトルを変更

just4clarity

just4clarity score 8

2018/08/27 17:16  投稿

iOS Safariでalertが発火しない
iOS Safariでpopstateイベント内のalertが発火しない
### iOS Safariにてpopstateイベント内のalertを発火させたい  
 
対象画面において、ブラウザの戻る or 進むボタンが押下されたさい、
Alertを表示させたいと考えております。
iOS Chromeやデスクトップモダンブラウザでは動作(Alert表示)が確認できるのですが、
iOS Safariではページの移動はしないもののAlertが表示されません。
### ソースコード
```js
 $(function() {
   'use strict';
   history.pushState(null, null, null);
   // 履歴の移動を検知したときにアラートを表示
   window.addEventListener('popstate', function() {
     alert('戻る or 進むボタンは使用できません。');
   });
 });
```
### 試したこと
確認のため、下記の通りalertとは別の処理(背景色変更)を入れてみたところ
iOS Safariでも支障なく背景色が反映されました。しかしAlertは表示されません。
```js
 $(function() {
   'use strict';
   history.pushState(null, null, null);
   // 履歴の移動を検知したときにアラートを表示
   window.addEventListener('popstate', function() {
     alert('戻る or 進むボタンは使用できません。');
     // 処理が通っているか確認 → 背景色変化確認できた
     $('body').css('backgroundColor', '#000');
   });
 });
```
### 対象ブラウザ
iOS 11.3.1 Safari
どうぞよろしくお願いいたします。
  • JavaScript

    36513 questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • iOS

    7191 questions

    iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る