

HTMLに直接記述された window.location.href を JavaScript で無効化したい。

[code]

    window.location.href = "hoge.com";
    
[/code]

無効化する方法を調べたけれど分からなかったので、結果的に遷移されない方法で間接的に無効化する手段を取りました。

その方法は以下の様なScriptを実行しておくことです。

[code]

    window.onbeforeunload = function(e) {
      e.returnValue = "Block";
    }
    window.location.href = "hoge.com";
    
[/code]

しかし実際にこのScriptを実行しても警告が出ることなくページ移動が行われました。

[code]

    window.onbeforeunload = function(e) {
      e.returnValue = "Block";
    }
    **>> ページ部分クリック**
    window.location.href = "hoge.com";
    
[/code]

けれども、この様に window.location.href
を行う前にページ部分のクリックなどのイベントを挟むことで警告が出され、ページ移動は行われなくなりました。

そこで質問になります。

  1. window.location.href を JavaScript で無効化する方法
  2. ページクリックなどの手間を入れずにScriptだけで『このページから移動しますか？ 』という警告を表示させる方法

これのどちらか、または類する回答を頂けると幸いです。

**追記** ：前提が足りないという事なので追記失礼します。

ページHTML

[code]

    <HTML>
      <HEAD>
        <script>
          window.location.href = "hoge.com";
        </script>
      </HEAD>
      <BODY>
      </BODY>
    </HTML>
    
[/code]

window.location.href を無効にするScriptの実行方法とタイミング

1.UserScript/拡張機能 @run-at document-start  
2.コンソール (この場合はコンソール上で無効にするScriptを実行後 window.location.href を実行させます。)


CC BY-SA 4.0
2020-07-16T15:35:11.003
68651
2020-07-17T10:53:02.493
2020-07-17T10:53:02.493
31483
31483
question
javascript
window.location.href を 無効化したい