[HTML] window.open()は、問題のブラウザの一部を傍受しています

まず、理由:
、それは1、クロム、window.openメソッドの内部でセキュリティメカニズムが非ユーザーをトリガするためにブロックされます。

第二に、ブロックされたか、どのような状況の下でブロックされますか?

1。

$(' #Btn ' ).click(関数(){
         // ブロックされていない
    window.open(URL)
})。

2。

$(' #Btn ' ).click(関数(){ 
        $アヤックス({ 
         URL:' xxxx.com ' 
        成功:機能(URL){ 
             // 傍受された
             window.open(URL); 
             } 
        })
} ); 

 

理由の分析:

Window.openユーザーが直接要求を発行しませんが、要求のAJAXを送信し、AJAX window.openメソッドは、コールバック関数に入れ、そのような場合は、ブロックされます。

第三に、それは解決することが判明したことから。

$(' #Btn ' ).click(関数(){
         // 開き、新しいウィンドウがブロックされていない
         VARメソッドによりNewWindow = window.openを(); 
          $アヤックス({ 
              URL:' xxxx.com ' 
              成功:関数( URL){ 
                   // 新しいウィンドウのURL変更 
                  newWindow.location.href = URLを; 
              } 
        })
 }); // 最初のコールバック関数の前に新しいウィンドウを開き、ロードするURL

 

おすすめ

転載: www.cnblogs.com/richerdyoung/p/11492360.html