防止儿童iFrame获得焦点

时间:2013-06-15 01:44:30

标签: javascript html iframe

是否有可能阻止iFrame元素获得焦点,或者如果没有,至少在这样的iFrame获得焦点后立即将焦点返回到父窗口?请通过代码示例提供建议。

2 个答案:

答案 0 :(得分:2)

这取决于您真正想要实现的目标以及您试图阻止哪些重点方法。您无法设置任何魔法设置,以防止焦点转移到iframe。

  1. 您可以在iframe的顶部放置一个透明元素,并让它捕获所有点击,这样iframe中的任何内容都不会被点击。您可以使用CSS定位此内容并且不一定需要javascript,除非iframe大小是动态的或事先不知道。这不会阻止javascript代码将焦点设置为iframe,但会阻止鼠标点击将焦点移动到iframe。

  2. 您可以定期检查(javascript轮询)重点是什么,如果它不在您自己的文档中,则将其放回到您的文档中。这是一种黑客行为。

  3. 这是第一个选项的演示:http://bit.ly/10jzdlp

答案 1 :(得分:1)

如果您遇到的问题是由于iframe文档中的脚本关注其中一个元素,那么一个解决方案可以使用iframe' s sandbox属性可防止iframe文档运行脚本(即将属性设置为不包含标记的值' allow-scripts')。当然,这是否可以接受将取决于它是否会打破其他事情。