如何在iframe上检测Onclick事件[跨域]

时间:2014-12-22 06:28:12

标签: javascript jquery iframe

我在iframe中显示我的网站。我想检测用户代理, 如果用户在IE上打开此iframe,则onClick上iframe用户应该导航 到另一个站点或用户浏览器是chrome或firefox 然后他应该继续使用iframe中的网站。

以下是我的代码:

 <iframe id='iframeGoogle' name='a373563b' 
  src='http://google.com?header=true'  width='768' height='1024'>

             <script>  
                  $(document).ready(function(){
                // $("#iframeGoogle").click(function () {
                       var ua = window.navigator.userAgent;
                       var msie = ua.indexOf("MSIE ");
                       if (msie > 0) {    
                         window.open="http://example.com"; 
                        // site should redirect to another  page if user agent is IE 
                       }
                      else                 
                      {
                        console.log("otherBrowser");
                      }|

                });  //});
             </script>

我对此有一些发现, 我们无法识别iframe上的点击事件,那么我现在该怎么办?

1 个答案:

答案 0 :(得分:2)

我认为无论页面是否在同一个域中,这都会有效:

 var iframeClick = function () {
    var isOverIframe = false,
    windowLostBlur = function () {
        if (isOverIframe === true) {
            // DO STUFF
            alert('in');
            isOverIframe = false;
        }
    };
    $(window).focus();
    $('#iframeGoogle').mouseenter(function(){
        isOverIframe = true;
        console.log(isOverIframe);
    });
    $('#iframeGoogle').mouseleave(function(){
        isOverIframe = false;
        console.log(isOverIframe);
    });
    $(window).blur(function () {
        windowLostBlur();
    });
 };
 iframeClick();