2017-01-31 7 views
0

私は以下のコードをクロスドメインiframeで動作させようとしていますが、クリックを捕まえて通過させません。誰かが間違っていることを教えてもらえますか?ポインタイベントなしクリックスルー

<!DOCTYPE html> 
      <html> 
      <head> 
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 
      <meta charset=utf-8 /> 
      <title>JS Bin</title> 
      </head> 

      <body>  
      <div class="iframeholder"> 
      <iframe src="https://somesite.com"></iframe> 
      </div> 
      </body> 

      </html> 
      <style> 
       iframe{pointer-events:none;} 
       </style> 

     <script> 
     $(document).ready(function() { 

      $('.iframeholder').on('click', function(e) { 
      e.preventDefault(); 
      alert('test'); 

     }); 
    }); 
    </script> 

また、私は自動的に別のリンクをクリックをトリガすることで、別のクリックをバインドしたい場合はこれが可能である以下のコードを使用して(つまり、そこにはiframe内の二つのリンクになります)で一部にそれを置き換えますアラート( 'テスト')の上記のコードから、または私はXSSのエラーを打つでしょう:

$("iframeholder") 
    .mousedown(function() { 
    $(this).trigger('click'); 
    }) 

すべてのヘルプはいただければ幸い、私は初心者です:)

+0

iframe内のサイトはクロスドメインなので、CORSの例外が発生する可能性が高くなります。そのため、JavaScriptを使用してiframeのWebサイトにアクセスできなくなります。 – Taplar

答えて

0

あなたはIFRAMEのDOM使ったJavaScriptと対話することはできません。

+0

そのオーバーレイは、最終的に何回のクリックが行われたかを最終的に確認することができますが、このコードを見ると、クリックがiframeにフィードされないことがわかります –

+0

_overlay_はその下の要素をブロックしています。上記のコードで[この解決策](http://stackoverflow.com/questions/3680429/click-through-a-div-to-underlying-elements) – JohanP

+0

ポインタイベントが既にnoneに設定されていますが、これはクリックをまだブロックしています。これはZ-インデックスに何かを持っていますか?もしそうなら、私はこれをコードに入れてどうすればいいですか? –

関連する問題