首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Safari及更高版本上的Java Applet z-index

Safari及更高版本上的Java Applet z-index
EN

Stack Overflow用户
提问于 2009-03-12 14:34:14
回答 3查看 12.7K关注 0票数 6

网页中Java小程序的一个众所周知的问题是浏览器忽略小程序标记相对于页面中其他组件的z索引。无论您在页面中如何定位和z-index元素,applet都会将它们自己绘制在所有元素之上。

这里描述了一种变通方法,称为iframe填充程序:http://www.oratransplant.nl/2007/10/26/using-iframe-shim-to-partly-cover-a-java-applet/

但是,此解决方法在Windows中的Safari 3或Safari 4中不起作用(假设Mac也是如此)。

有谁知道在Safari中使用它的方法吗?

有没有人有办法迫使Sun解决根本问题,这样我们就可以避免笨拙的垫片?这是一个关于这个问题的错误报告,http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6646289,请注意,它已经开放了一年,然而其他错误报告可以追溯到很多很多年以前。

这太令人沮丧了,难道Sun不知道这正是将Java作为一种在浏览器中做很酷的事情的边缘事物吗?我爱你,爪哇,但你对你的处境毫无帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-09-08 11:48:50

实际上,这个问题与z-index没有任何关系。这是由Netscape Plugin API (NPAPI)的“窗口”绘图模型引起的。

您对此无能为力(除了填充程序)。插件作者必须rewrite it using windowless API

票数 3
EN

Stack Overflow用户

发布于 2011-02-14 23:02:29

这个问题有一个棘手的解决方案。没有必要将代码放在iframe中。我们可以有一个虚拟的iframe,就像applet上面的一层一样。然后,可以轻松地将包含文本的绝对div放在该iframe之上。

工作示例

代码语言:javascript
运行
复制
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Applet z index issue</title>
<style>

.applet {width:400px; margin:0 auto; text-align:center; border:1px solid #000; left:40%; position:absolute }
.iframe {width:400px;  background:#fff; position:absolute; border:1px solid #f00; position:absolute; left:45%; top:20px; z-index:9; height:201px;}
.message { width:250px; border:1px solid #000; background:#fff; height:150px; color:#fff; text-align:center;  z-index:99; background:#555;  float:left; position:absolute; left:45%; top:20px}

 </style>
</head>

<body>
<div class="message">Message</div>
<div class="iframe"><iframe style="width:500px; height:205px; background:none; border:none"> </iframe></div>
<div class="applet">

<applet code="Bubbles.class" width="400" height="350">
Java applet that draws animated bubbles.
</applet>

</div>

</body>
</html>
票数 5
EN

Stack Overflow用户

发布于 2009-04-21 01:13:25

首先,Mac上的Java实际上是由苹果而不是Sun开发的。至于applet,当上面出现一些东西时,我们会隐藏applet。不过,这可能不足以满足您的需求。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/638886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档