Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当对象标记为display:none时,方法失败,但当可见性:hidden起作用时_Java_Class_Object - Fatal编程技术网

Java 当对象标记为display:none时,方法失败,但当可见性:hidden起作用时

Java 当对象标记为display:none时,方法失败,但当可见性:hidden起作用时,java,class,object,Java,Class,Object,我有一个span标记作为加载Java类的对象的父标记。span标记具有样式display:none。当在Javascript中检索到对对象标记的引用并调用该对象标记的方法时,它将失败 但是,如果span标记没有设置display:none或visibility:hidden,则它可以工作 为什么会这样 <span style='display:none'> <object type="application/x-java-applet" width="100" height

我有一个
span
标记作为加载Java类的
对象的父标记。
span
标记具有样式
display:none
。当在Javascript中检索到对
对象
标记的引用并调用该
对象
标记的方法时,它将失败

但是,如果
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>

这是基本样式(CSS),页面中仍然包含一个隐藏对象,而带有
display:none的元素甚至不包括在内

解决方案:

  • 使小程序的大小大约为
    10x10
    像素
  • 把它放在网页的一些无害的部分(例如在结尾)
  • 使用
    可见性
    :hidden
    将其隐藏在视图中。请注意,这是
    可见性
    ,而不是
    显示
      这是基本样式(CSS),页面中仍然包含一个隐藏对象,而带有
      display:none的元素甚至不包括在内

      解决方案:

      • 使小程序的大小大约为
        10x10
        像素
      • 把它放在网页的一些无害的部分(例如在结尾)
      • 使用
        可见性
        :hidden
        将其隐藏在视图中。请注意,这是
        可见性
        ,而不是
        显示
          拉里

          原因是当使用“display:none”浏览器呈现页面时,该元素似乎根本不存在。虽然您可以在DOM中获得对“object”元素的引用,但对象本身尚未创建。另一方面,“可见性:隐藏”仅隐藏元素,但仍会占用空间和布局

          不破坏页面布局的最佳解决方案是使您的元素绝对定位,并将其放置在用户视线之外的某个位置(例如,左侧:-1000px)

          Larry

          原因是当使用“display:none”浏览器呈现页面时,该元素似乎根本不存在。虽然您可以在DOM中获得对“object”元素的引用,但对象本身尚未创建。另一方面,“可见性:隐藏”仅隐藏元素,但仍会占用空间和布局


          不破坏页面布局的最佳解决方案是使您的元素绝对定位,并将其放置在用户视线之外的某个位置(例如,左侧:-1000px)

          另外,您的对象元素的格式不正确。建议始终根据DTD验证HTML。HTML有结构和规则,如果你把无效的HTML扔进浏览器,它将如何渲染是任何人的猜测。此外,考虑使用Oracle的代码>部署Java.js<代码>,而不是试图自己编写Applet(/object)元素。建议始终根据DTD验证HTML。HTML有结构和规则,如果你把无效的HTML扔进浏览器,它将如何渲染是任何人的猜测。此外,考虑使用Oracle的代码>部署Java.js<代码>,而不是尝试自己编写applet(/object)元素。谢谢。我现在明白怎么回事了。谢谢你的评论,谢谢。我现在明白怎么回事了。感谢您的评论