Lesen Ich bin ein Java-Applet wie diese Einbettung:Webkit versucht Java Applet-Klasse herunterladen, bevor es von JAR
<object type="application/x-java-applet">
<param name="codebase" value="/path/to/jar" />
<param name="archive" value="myapplet.jar" />' +
<param name="code" value="my.package.MyClass" />
</object>
Das Applet funktioniert in allen Browsern aber Webkit-Browser (Chrome und Safari) sind beide ärgerlich der Server mit einer nutzlosen Anforderung, die die MyClass-Datei herunterladen versucht (die in der JAR und arbeitet von dort fein) vom Server:
Chrome zeigt diesen Fehler in der Konsole:
GET http://localhost/test/my.package.MyClass 404 (Not Found)
Das gleiche passiert, wenn Sie das <embed>
-Tag anstelle von <object>
verwenden, aber es passiert nicht, wenn Sie das veraltete <applet>
-Tag verwenden.
Gibt es eine Möglichkeit zu verhindern, dass diese Klassendatei irgendwie heruntergeladen wird? Ich habe Gerüchte über einen codebase_lookup
Parameter gehört, aber die Einstellung dieses Parameters auf false
ändert nichts.
Wenn Sie die Kontrolle über Ihre Anwendung halten, schlage ich vor, nur um das veraltete APPLET-Tag zu verwenden, wie es richtig funktioniert. Sicherlich wird die Unterstützung später fallen gelassen, aber während dieser Zeit wird wahrscheinlich eine bessere Lösung erscheinen. Sicherlich sind die Dinge schlimmer, wenn Sie die Anwendung an Ihren Kunden übergeben. – h22
Die Verwendung des Applet-Tags ist keine Lösung, sondern ein Workaround. Ich hoffe auf eine Antwort, die vielleicht erklärt, warum Webkit versucht, die Klassendatei herunterzuladen und dieses Verhalten zu deaktivieren. Vielleicht ist es ein Webkit-Bug und jemand kennt den Ort eines Fehlerberichts, der mehr Informationen zu diesem Problem enthält. Wer weiß. – kayahr
Ja, es ist ein Workaround, keine Antwort. – h22