我知道iframe如果它是跨域的话,就不可能告诉用户在内部做了什么.我想要做的是跟踪用户是否完全点击了iframe.我想象这样一个场景,还有一个看不见div的顶部iframe和的div意愿,就在这时,通过点击事件的iframe.
这样的事情可能吗?如果是,那我该怎么办呢?的iframes是广告,所以我必须在所使用的标签没有控制权.
我在页面上有一个iframe,来自第三方(广告).我想在点击iframe时发出点击事件(记录一些内部统计数据).就像是:
$('#iframe_id').click(function() {
//run function that records clicks
});
Run Code Online (Sandbox Code Playgroud)
..基于HTML:
<iframe id="iframe_id" src="http://something.com"></iframe>
Run Code Online (Sandbox Code Playgroud)
我似乎无法得到任何变化的工作.思考?
我想处理click一个iframe带有处理程序的事件,该处理程序将iframeid作为参数.
我可以onClick通过JavaScript 添加一个事件处理程序,如下所示,它工作正常:
iframe.document.addEventListener('click', clic, false);
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,我无法传递参数clic().我试图打印this.id的clic(),但没有结果.
onClick HTML属性根本不起作用,不调用处理程序.
<html>
<head>
<script type="text/javascript">
function def() {
myFrame.document.designMode = 'on';
}
function clic(id) {
alert(id);
}
</script>
</head>
<body onLoad="def()">
<iframe id="myFrame" border="0" onClick="clic(this.id)"></iframe>
</body></html>
Run Code Online (Sandbox Code Playgroud) 我想在一个点击事件中添加一个iframe.我用这个例子得到了这个:
$(document).ready(function () {
$('#left').bind('click', function(event) { alert('test'); });
});
<iframe src="left.html" id="left">
</iframe>
Run Code Online (Sandbox Code Playgroud)
但遗憾的是没有任何反应.
当我用另一个元素(例如一个按钮)测试它时,它可以工作:
<input type="button" id="left" value="test">
Run Code Online (Sandbox Code Playgroud)