Pregunta

Un problema bien conocido con los Applets Java en las páginas web es que los navegadores ignoran el índice z de la etiqueta del applet frente a otros componentes de la página. No importa cómo coloque los elementos del índice Z en la página, los applets se dibujarán por encima de todo.

Hay una solución alternativa, conocida como cuña de iframe, como se describe aquí: http://www.oratransplant.nl/2007/10/26/using-iframe-shim-to-partly-cover-a-java-applet/ .

Sin embargo, esta solución alternativa no funciona en Safari 3 o 4 en Windows (suponiendo lo mismo para Mac).

¿Alguien sabe una manera de hacerlo funcionar en Safari?

¿Alguien tiene ideas sobre cómo presionar a Sun para que solucione el problema subyacente para que podamos evitar cuñas torpes? Aquí hay un informe de error sobre el problema, http://bugs.sun.com /bugdatabase/view_bug.do?bug_id=6646289 , tenga en cuenta que ha estado abierto durante un año, sin embargo, otros informes de errores se remontan muchos años.

Esto es muy frustrante, ¿no entiende Sun que es el tipo de cosas que ha marginado a Java como una forma de hacer cosas interesantes en el navegador? Te amo Java, pero no estás ayudando a tu situación ...

¿Fue útil?

Solución

En realidad, el problema no está relacionado con el índice z en absoluto. Es causado por " ventana " modelo de dibujo de Netscape Plugin API (NPAPI).

No puedes hacer nada al respecto (excepto la cuña). El autor del complemento tiene que reescribirlo usando API sin ventanas .

Otros consejos

Hay una solución difícil para el problema. No es necesario tener el código dentro de un iframe . Podemos tener un iframe ficticio como una capa sobre el applet. Y luego un div absoluto con el texto puede colocarse fácilmente sobre ese iframe .

ejemplo de trabajo

<!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>

Por un lado, Java en Mac está realmente construido por Apple y no por Sun. En cuanto a los applets, los ocultamos cuando hay algo que aparece encima. Sin embargo, eso podría no ser suficiente para sus necesidades.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top