防止iframe窃取焦点

jay*_*onp 13 html javascript iframe

我有一个嵌入iframe的网站.当我测试iframe时,我使用google.com并注意到搜索输入字段成为焦点.显然,我不会使用google.com进行制作,但希望阻止iframe窃取焦点.

有没有办法阻止iframe窃取焦点?

小智 7

如果您可以访问服务器端脚本,则可以使用它来下载要嵌入的页面的实时副本,搜索并删除任何焦点窃取代码,然后在iframe中显示该已修改的页面.或者,如果您发现没有焦点窃取代码,您可以像往常一样将iframe链接到远程页面.

另一种选择可能是最初使用CSS隐藏iframe style="display:none"并允许用户使用javascript取消隐藏它Object.style.display="inline"


Wla*_*ant 0

并不真地。如果焦点移开,您可以将焦点放回窗口(警告:我不建议使用该代码):

<body onblur="window.focus();">
Run Code Online (Sandbox Code Playgroud)

这会产生一些不太好的副作用,例如无法在 Firefox 中聚焦位置栏,或者如果框架也试图争夺焦点,则会陷入无限循环。因此,如果您想这样做(这是一个很大的“如果”,我不建议这样做),您至少应该将其限制在页面加载阶段,并允许在此之后更改焦点。