[英]Embed Java applet through URL data
我正在嘗試探索嵌入HTML Java applet的URL數據功能。
用於實例化java applet 1的 HTML標記的文檔不排除此選項,但我似乎無法解決此問題。
我使用(對象和小程序)有不同的HTML標記值變體,我認為接近我的目標是:
<object type="application/x-java-applet" width="100" height="100">
<param name="archive" value="data:application/java-archive;base64,BASE64_OF_JAR"/>
<param name="code" value="test.class"/>
<h1>not working</h1>
</object>
此變體導致帶有文本“name”的IlegalArgumentException。 我點擊瀏覽器上的錯誤圖標。 在java控制台上,整個堆棧跟蹤是:
java.net.MalformedURLException: unknown protocol: data
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at sun.plugin.util.ProgressMonitorAdapter.setProgressFilter(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.setupProgress(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
有沒有人知道如何做到這一點,或者如果不可能?
PS:有如何在HTML甲骨文嵌入JNLP的例子在這里
OBJECT元素的HTML4規范允許通過URL DATA嵌入的內聯數據和Oracle的Applet實例化文檔也允許這樣做。 所執行的測試顯示了Java瀏覽器插件(來自Oracle),以及來自Java SE 6的可用源代碼,表明該實現不支持它。
在這種情況下,瀏覽器是否支持它似乎並不重要,因為對象/小程序HTML元素中的資源引用的資源處理是由瀏覽器插件執行的。
另一種方法是使用applet反序列化,通過URL DATA序列化,使用APPLET元素的OBJECT屬性。 正如HTML4規范中所提到的,對APPLET和OBJECT屬性沒有主動支持,並且JRE似乎也不支持來自URL DATA的對象反序列化。
簡而言之,JRE不支持CODE,OBJECT和ARCHIVE HTML屬性中的base64反序列化。
在JRE1.4.1中還有一個關於URL DATA支持的BUG未實現錯誤ID:4756961 。
我在64位Windows機器上使用JRE7進行測試的結果如下:
即使HTML標准允許,JRE通常也不了解base64編碼數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.