Frage

Ein bekanntes Problem mit Java-Applets in Web-Seiten ist, dass Browser des Z-Index des Applet-Tages im Vergleich zu anderen Komponenten in der Seite zu ignorieren. Egal, wie Sie Position und z-index Elemente in der Seite, Applets sich auf alles ziehen wird.

Es gibt eine Abhilfe, als iframe Shim bekannt, wie hier beschrieben: http://www.oratransplant.nl/2007/10/26/using-iframe-shim-to-partly-cover-a-java-applet/ .

Allerdings ist diese Problemumgehung funktioniert nicht in Safari 3 oder 4 in Windows (das gleiche gilt für Mac vorausgesetzt).

Kennt jemand eine Möglichkeit, es in Safari zu machen zu arbeiten?

Hat jemand Ideen, wie Sun auf Druck das zugrunde liegende Problem zu beheben, damit wir plump Unterlegscheiben vermeiden können? Hier ist ein Fehlerbericht zu diesem Thema, http://bugs.sun.com /bugdatabase/view_bug.do?bug_id=6646289 , feststellt, dass es ein Jahr lang geöffnet war, aber andere Fehlerberichte zurück viele, viele Jahre.

Das ist so frustrierend, nicht Sonne zu verstehen, dass dies die sehr Art der Sache ist, dass Java als eine Möglichkeit zu tun, coole Sachen im Browser des Rand gedrängt hat? Ich liebe dich Java, aber Sie Ihre Situation nicht helfen ...

War es hilfreich?

Lösung

Eigentlich ist Problem nicht auf die z-Index überhaupt zusammen. Es wird verursacht durch "gefenstert" Zeichnungsmodell von Netscape Plugin API (NPAPI).

Sie können nichts dagegen tun (mit Ausnahme der Shim). Plugin Autor hat zum umschreiben fensterlos API .

Andere Tipps

Es ist eine schwierige Lösung für das Problem. Es ist nicht notwendig, den Code innerhalb einer iframe zu haben. Wir können eine Dummy-iframe haben nur als Schicht über dem Applet. Und dann ein absolutes div mit dem Text kann über diesen iframe leicht platziert.

Arbeitsbeispiel

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

Zum einen ist Java auf Mac gebaut tatsächlich von Apple und nicht Sun. Was die Applets, verstecken wir die Applets, wenn es etwas erscheinen oben drauf ist. Das könnte allerdings nicht für Ihre Bedürfnisse ausreicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top