Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webkit尝试在从JAR读取Java小程序类之前下载它_Java_Html_Applet - Fatal编程技术网

Webkit尝试在从JAR读取Java小程序类之前下载它

Webkit尝试在从JAR读取Java小程序类之前下载它,java,html,applet,Java,Html,Applet,我正在嵌入一个Java小程序,如下所示: <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&

我正在嵌入一个Java小程序,如下所示:

<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>
使用
标记而不是
时也会发生同样的情况,但使用不推荐使用的
标记时不会发生这种情况


是否有可能以某种方式阻止此类文件下载?我听说有一个
codebase\u lookup
参数,但将此参数设置为
false
不会改变任何东西。

我发现,当小程序的code参数设置在param标记中时,会出现此问题。如果将其移动到相应的对象的属性,404错误将不再出现:

<object type="application/x-java-applet" code="my.package.MyClass">
   <param name="codebase" value="/path/to/jar" />
   <param name="archive" value="myapplet.jar" />
</object>

测试日期:

Windows 8、Java 1.7.0_25:Chrome 28、Firefox 23、IE10

OS X 10.6.8、Java 1.6.0_51:Chrome 28、Firefox 23、Safari 5.1.9

OS X 10.7.5,Java 1.7.0_25:Firefox 23,Safari 6.0.5

OSX10.8.4,Java1.7.0.25:Firefox23,Safari6.0.5


OS X 10.9、Java 1.7.0_25、Firefox 23、Safari 7.0

如果您能够控制应用程序,我建议您只使用不推荐的APPLET标记,因为它可以正常工作。当然,以后可能会放弃对它的支持,但在此期间,可能会出现一些更好的解决方案。当然,如果你把应用程序交给你的客户,情况会更糟。使用applet标签不是一个解决方案,而是一种变通方法。我希望得到一个答案,也许可以解释为什么Webkit试图下载类文件以及如何禁用这种行为。可能是Webkit错误,有人知道错误报告的位置,该报告包含有关此问题的更多信息。谁知道呢。是的,这是一个解决办法,不是答案。用于编写小程序/对象元素。您是否尝试使用jar://myapplet.jar!my.package.MyClass是否作为代码?我认为这应该是Jar中类的正确URL。也许,webkit会将请求放到jar://url中。我对此很不确定,所以我不想给出答案。
<object type="application/x-java-applet" code="my.package.MyClass">
   <param name="codebase" value="/path/to/jar" />
   <param name="archive" value="myapplet.jar" />
</object>