在Firefox中将焦点设置为iframe正文/内容?
Posted
技术标签:
【中文标题】在Firefox中将焦点设置为iframe正文/内容?【英文标题】:set focus to iframe body/content in firefox? 【发布时间】:2010-12-03 06:16:23 【问题描述】:我有一个 ifram,它具有隐藏的可见性。 我点击按钮 - iframe 将可见,我想专注于它的正文/内容。 因为现在我必须点击按钮然后进入 iframe,所以点击两次。我想一键搞定,但不知道如何在Firefox中对焦。
在资源管理器中没问题:
var iframe_window = window.frames["myFrame"];
iframe_window.document.body.focus();
为 Firefox 尝试了很多示例,但它们不起作用。有人知道如何在Firefox中做到这一点吗?谢谢。
【问题讨论】:
为什么要使用 frame 和 iframe !!! (生病) 做 rte html 编辑器之类的东西。没有比使用 iframe 更好的主意。不知道是否可以不使用 iframe。 【参考方案1】:尝试首先将焦点设置为iframe_window
,然后再将焦点设置为您的实际内容:
iframe_window.focus();
iframe_window.contentDocument.body.focus();
【讨论】:
【参考方案2】:会
iframe_window.contentDocument.body.focus();
工作?
【讨论】:
使用时怎么样 var iframe_window = document.getElementById('myFrame');将 myFrame 作为 iframe 上的 id 属性? 是的,我有 'myFrame' 作为 id 属性和 name 属性,但它仍然不起作用【参考方案3】:我认为您可能需要真正关注 iFrame 内部的某些内容; iFrame 本身不会对焦点做任何事情,但也许您可以将焦点放在其中的 DIV,甚至是小部件?
【讨论】:
【参考方案4】:尝试将焦点设置到
【讨论】:
【参考方案5】:并非每个元素都支持.focus()
。您可以使用键盘/鼠标以编程方式聚焦元素吗?
焦点可以转到元素表单元素或“a”标签或将 contant-editable 属性设置为 true 的跨度。
在 iframe 中找到这样一个元素并尝试专注于它。应该工作!
【讨论】:
焦点也可以转到具有tabindex
属性的元素。【参考方案6】:
我遇到了同样的问题(仅在 firefox 中),我似乎已经通过仅将焦点设置在 iframe 上解决了它在您确定 iframe已完全加载。在我的 iframe html 中:
<body onLoad="init();>
iframe 页面内的 javascript:
this.init = function()
parent.focusframe();
这个javascript在父窗口中:
this.focusframe = function()
var fr = document.getElementById("gameframe");
fr.contentWindow.focus();
【讨论】:
以上是关于在Firefox中将焦点设置为iframe正文/内容?的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Firefox 和 IE 中将框架高度设置为 100%
AppKit 上的 SwiftUI - 在弹出窗口中将焦点设置为 TextField