Applet Java Z-index pe Safari și dincolo de

voturi
6

O problemă bine cunoscută cu Java Applets în pagini web este faptul că browserele ignora z-index al tag-ul applet vs alte componente din pagina. Nu contează modul în care poziția și elemente z-index în pagină, applet-uri se vor desena pe partea de sus de tot.

Există o soluție, cunoscut sub numele de distanțierul iframe, așa cum este descris aici: http://www.oratransplant.nl/2007/10/26/using-iframe-shim-to-partly-cover-a-java-applet/ .

Cu toate acestea, această soluție nu funcționează în Safari 3 sau 4 în Windows (presupunând că același lucru pentru Mac).

Stie cineva o modalitate de a face să funcționeze în Safari?

Are cineva idei despre cum să facă presiuni Sun pentru a rezolva problema de bază astfel încât să putem evita stângace adaosuri de fixare? Aici este un raport de eroare pe această temă, http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6646289 , observați că acesta a fost deschis timp de un an, cu toate acestea alte rapoarte de bug - uri du - te înapoi mulți mulți ani.

Acest lucru este atât de frustrant, nu Sun înțeleg că acest lucru este foarte genul de lucru pe care a marginalizat Java ca o modalitate de a face lucruri interesante în browser? Te iubesc Java, dar nu ajută situația ta ...

Întrebat 12/03/2009 la 13:34
sursa de către utilizator
În alte limbi...                            


3 răspunsuri

voturi
2

Pentru unul, Java pe Mac este, de fapt construit de Apple și nu Sun. În ceea ce privește applet-uri, vom ascunde applet-uri atunci când există ceva care apare în partea de sus a acesteia. Acest lucru s-ar putea să nu fi suficiente pentru nevoile dumneavoastră, totuși.

Publicat 21/04/2009 la 00:13
sursa de către utilizator

voturi
3

De fapt, problema nu este legată de indexului z, la toate. Este cauzata de „vitrate“ modelul de desen de pluginuri Netscape API (NPAPI).

Nu poți face nimic ( cu excepția distanțierul). Plugin autor trebuie sa - l rescrie folosind API - ul fără ferestre .

Publicat 08/09/2009 la 10:48
sursa de către utilizator

voturi
5

Există o soluție pentru această problemă delicată. Nu este necesar să se aibă codul în interiorul unui iframe. Putem avea un manechin la iframefel ca un strat de deasupra applet. Și apoi un div absolută cu textul poate cu ușurință plasat mai sus , care iframe.

exemplu de lucru

<!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>
Publicat 14/02/2011 la 14:02
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more