我有一个span
标记作为加载Java类的object
标记的父标记。 span
代码的格式为display:none
。在Javascript中检索对object
标记的引用并调用此object
标记的方法时,它会失败。
但是,如果span
代码没有设置display:none
或visibility:hidden
,那么它就有效。
为什么会这样?
<span style='display:none'>
<object type="application/x-java-applet" width="100" height="100" name="my_class" id="my_class">
<param name="codebase" value="http://www.whatever.com/class">
<param name="code" value="myclass.class">
<param name="mayscript" value="yes">
<param name="scriptable" value="true">
</object>
</span>
答案 0 :(得分:3)
这是基本样式(CSS),页面中仍然包含隐藏对象,而甚至不包含display:none
的元素。
解决方案:
10x10
像素visibility
:hidden
将其隐藏起来。请注意,这是visibility
,而不是display
!答案 1 :(得分:1)
拉里。
原因是当使用'display:none'时,浏览器呈现页面就像元素根本不存在一样。虽然您可以参考DOM中的'object'元素,但尚未创建对象本身。另一方面,'visibility:hidden'只隐藏元素,但它仍占用空间和布局。
不破坏页面布局的最佳解决方案是使您的元素绝对定位并将其放在用户视线之外的某个位置(例如左:-1000px)