当它通过跨域的 iframe 时,我在跟踪点击位置时遇到了问题。
我的代码现在:
<div class="poin">
<iframe width="640" height="360" src="http://cross_domain" frameborder="0" allowfullscreen id="video"></iframe>
</div>
和JS:
$('.poin').bind("mousemove", function(e) {
console.log("x:" + e.pageX + ", y:" + e.pageY);
});
这一个代码,在iframe窗口上移动时不显示任何内容,但是在显示所有内容的窗口上移动时。
我也尝试了在iframe上按下鼠标和向上鼠标
onmousedown="$(this).addClass(point)" onmouseup="$(this).removeClass(point)"
.point{
pointer-events:none;
}
但是指针事件:无不允许点击,所以在iframe上移动是有效的,但是当用户点击时什么都不会发生。
也许您有一些想法如何做这样的事情来跟踪iframe窗口上的鼠标单击?
我有一种感觉,这将是旨在防止您弄乱其他人网站的安全模型的一部分。如果你对不同域上的页面没有任何控制权,那么你的javascript选项恐怕通常为零。(如果可以控制其他域,则在该页面上有一个脚本报告回父框架页面)
您可以尝试在iframe的顶部放置一个透明元素,以检测其上的运动。当然,这也会阻止使用与框架页面交互,但是如果您可以指示用户双击,然后您可以在第一次单击时删除透明元素,允许第二次点击框架页面。
不幸的是,这是您不应该跨域做的事情。