在 Firefox 3 及更高版本(可能还有更旧的版本)中,在 iframe 中选择内容似乎总是使用当前没有焦点的文档所使用的灰色选择背景颜色,即使 iframe 确实有焦点。我发现的唯一例外是 iframe 中的内容是可编辑的。在其他浏览器中并非如此。下面是一个例子来说明这一点:
http://jsfiddle.net/97Vjz/ http://jsfiddle.net/97Vjz/
不幸的是,这阻止了使用 iframe 中的选择样式::-moz-selection https://developer.mozilla.org/En/CSS/::selectionCSS 伪元素,因为它仅适用于非灰色选择:
http://jsfiddle.net/YYXSY/1/ http://jsfiddle.net/YYXSY/1/
我的问题是:是否可以防止 iframe 的选择在 Firefox 中呈灰色without using contenteditable
/ designMode
?
UPDATE
这似乎只发生在动态编写的 iframe 上:使用单独的文件和src
属性解决问题。但是,我确实需要它与动态编写的 iframe 一起使用。
我只是尝试使用“真实”页面作为 iframe 内容来重现问题,然后它会按照您想要的方式工作:蓝色选择! (FF 5.0)
see: http://jsfiddle.net/97Vjz/8/ http://jsfiddle.net/97Vjz/8/
似乎只有生成的内容有这个问题,所以你可以制作一个页面(php/asp(x))来生成内容来规避这个问题。
使用 javascript 生成内容的另一种解决方案是加载它src="javascript:'<html />'"
(实际上这是 Tim 在下面的评论中自己的解决方案。)
一个简单的示例脚本:http://jsfiddle.net/97Vjz/9/ http://jsfiddle.net/97Vjz/9/
iframe.src='javascript:\'<html><body>' + content + '</body></html>\'';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)