javascript - 将 onClick 应用于 Iframe

标签 javascript html iframe

有什么方法可以用其他元素“封装”一个 Iframe 来模拟 onClick 吗?我知道 Iframe 不支持事件,但我需要跟踪通过 Iframe 从我的网站离开的点击次数。

谢谢!

最佳答案

如果框架包含来自同一域的页面(不违反 same-origin policy ),您可以直接与其文档交互:

<script type="text/javascript">
window.onload = function() {
    var oFrame = document.getElementById("myframe");
    oFrame.contentWindow.document.onclick = function() {
        alert("frame contents clicked");
    };
};
</script>

如果它包含外部页面,那么您就不走运了——出于明显的安全原因,您无法做您想做的事。尽管所有内容在视觉上都是同一页面的一部分,但来自不同域的框架必须在脚本方面保持独立。否则任何页面都可以,例如创建一个隐藏的 iframe 加载您的网络邮件并从中窃取您的 session cookie。用户可以访问所有数据,但页面作者不应访问这些数据。

关于javascript - 将 onClick 应用于 Iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10071431/

相关文章:

javascript - 单击不在 React.js 中表单内部的按钮后如何重置输入值

javascript - 为什么 `const` 是 JS 中的保留关键字,而 `let` 不是

javascript - SignalR js客户端错误的服务器端口

javascript - 修改 javascript 代码,使其在 iframe 中获取当前选定的文本

javascript - 在父 Html 页面上的 Iframe 中显示另一个 html 页面

javascript - 如果字符串有多个点,则仅从最后一个点开始拆分

html - 适合子图像的 CSS 容器

html - IE6 和 IE7 上的链接问题

javascript - 为什么 componentDidMount 在 componentWillUnmount 之后运行?

javascript - 动态更改 youtube 上的视频 ID