通过 Javascript / Jquery 跟踪 iframe 上的点击

Posted

技术标签:

【中文标题】通过 Javascript / Jquery 跟踪 iframe 上的点击【英文标题】:Track click over iframe by Javascript / Jquery 【发布时间】:2017-06-24 17:47:17 【问题描述】:

我们如何跟踪 iframe 上的点击(如任何 advt。)并根据网站用户分别使用 advt id 和用户 id 在我自己的数据库(使用 ajax)中记录该事件

    我在父 div 上尝试过 onclick(如下所示)事件,但没有工作 -

            $('div.ad').on('click', function()
            	$.ajax(
            		url: 'clickevent.php',
            		type: 'POST',
            		data: 
            			'id': adId
            		,
            		dataType: 'json',
            		success: function(data)
            			// show success msg to user
            		,
            		error: function()
            			// show failure msg
            		
            	);
            );

    我尝试在光标位于 iframe 上方时进行聚焦和模糊

        <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
        <script>
        jQuery(function( $ )
                var isOverAd = false;
                $( "iframe[ id *= google ]" )
                    .mouseover(function()
                            isOverAd = true;
                        )
                    .mouseout(function()
                            isOverAd = false;
                        );
                $( window ).blur(
                    function()
                        if (isOverAd)
                            $.ajax(
                                url: 'clickevent.php',
                                type: 'POST',
                                data: 
                                    'id': adId
                                ,
                                dataType: 'json',
            					success: function(data)
            						//show success msg
            					,
            					error: function()
            						//show failure msg
            					
                            );
                        
                    ).focus();
            );
    我也尝试过当鼠标在 iframe 上时窗口丢失模糊 我已映射像素($0 值)它也无法正常工作。

但没有任何效果......如果你能帮助我,我将非常感激

【问题讨论】:

这个错误表明你没有在页面中添加jquery文件。 @FarzinKanzi 不,实际上我在我的项目中做过,但在这里我只发布了我的代码 所以你创建的代码sn-p是没用的。 【参考方案1】:

要访问页面中的框架,您可以这样做:

var frame = window.frames['FRAME-ID'];
$(frame).load(function ()

    $(frame).contents().find('ELEMENT-IN-FRAME');
    //To manage click on element body ( or any elements):
    $(frame).contents().find('body').on('click', function()alert('k'));

【讨论】:

但是我怎么知道用户点击了该 iframe 或该框架内的任何链接以在我的数据库中注册该事件?

以上是关于通过 Javascript / Jquery 跟踪 iframe 上的点击的主要内容,如果未能解决你的问题,请参考以下文章

javascript 使用事件跟踪和jQuery跟踪Google Analytics中的传出链接

是否可以在 AngularJS、JavaScript 和 JQuery 中跟踪移动/桌面模型?

javascript Google跟踪代码管理器/ Google Analytics的滚动跟踪脚本(无jQuery)

javascript jQuery表单退出Google通用分析跟踪

javascript jQuery Google Analytics表单字段跟踪事件

javascript jQuery插件,使用Google通用分析事件跟踪链接