我有以下网页:
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
</head>
<body>
<script>window.bark = function() {
console.log('woof')
}
</script>
<object role='img'
data='https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/android.svg'
onclick='window.bark()' />
</body>
</html>
我知道object标记中的内容有自己的文档上下文,但我想知道:有什么方法可以允许对象调用绑定到窗口的函数吗?
发布于 2018-06-09 05:01:39
这在您当前的实现下是不可能的,这并不是因为object
的window
处于不同的全局上下文中。(事实上,该单击事件甚至不在object
的文档中。它位于顶层文档中,所以范围不是问题)。
这是因为您不能有效地监听直接在object
元素上的点击。例如,这同样适用于iframe
。单击事件在元素的文档内触发,而不是在元素本身上触发。
https://stackoverflow.com/questions/50768053
复制相似问题