我碰巧收到带有applet标签的Html,有没有办法通过chrome开发人员工具访问收到的类,我无法在脚本中看到它。如果没有,我怎么能访问它?
<applet name="tradesapp" id="tradesapp" code="loader3.SunLoaderApplet.class" archive="loader_20110113.jar" codebase="http://ih.advfn.com/" width="1100" height="2000" mayscript="" alt="This browser either has java disabled or does not support it" title="Java"><param name="manifestcrc" value="1211857157"><param name="storagepath" value="ih.advfn.com"><param name="masterloader" value="master"><param name="initial_focus" value="false"><param name="cache_archive" value="loader_20110113.jar"><param name="cache_version" value="1.0.7.7"><param name="java_arguments" value="-Dsun.java2d.d3d=false"><param name="advfn_url" value="http://ih.advfn.com/"><param name="streamer" value="stream-9.advfn.com"><param name="user" value="ih_340884"><param name="root" value="advfnclient.framework.BaseControl"><param name="page" value="advfnclient.TradesContainer"><param name="tz" value="US/Eastern"><param name="clearAllDateStamp" value="1272534624504"><param name="clearCacheDateStamp" value="1272534624504"><param name="language" value="us"><param name="view" value="ih"><param name="config_name" value="trades"><param name="config_default" value="Default"><param name="params" value="w=1100&h=2000&symbol=N%5EMSFT&montage=true&sources=afx:ukreg:rssnon&dims=664 79 15 0&col_widths=45 55 344 90 115&sid=1f58fa6b4ea88725c5b8e23d614a6e80&page_key=1338581393&w=1100&h=2000&pid=applet_embed&mypid=trades"><center><iframe width="600" height="300" src="/p.php?pid=javadisabled"></iframe></center></applet>
答案 0 :(得分:1)
Chrome不包含Java调试程序,而applet不是脚本。
您可以通过JS控制台中的document.getElementById('tradesapp');
访问它。如果你想对它做任何事情,那么applet必须explicitly expose methods to JavaScript。
答案 1 :(得分:0)
我怀疑这不是你的Java项目,所以我无法想象昆汀的建议会对你有所帮助。听起来我想要自己运行Java Applet,可能需要进行更改并可以访问调试器。我决定看看我能做些什么,因为我之前从未体验过这种东西。
首先,您可以在archive属性中下载.jar文件。在您的情况下,它看起来位于http://ih.advfn.com/loader_20110113.jar
然后,您可以使用Java Decomipler反编译.jar文件。如果你这样做,你会发现这个jar文件充当了一个加载器,并从advfn.com中提取了更多的java类。它将它们保存在以下位置:
String path = System.getProperty("user.home");
在Windows上,这是C:\&lt; USER&gt; \ advfn
如果您感兴趣,也可以反编译这些类。您将获得原始源代码的近似值。在这种情况下,一个相当不错的。
如果您希望更进一步并决定自己构建项目,可以将类导入Eclipse。您会注意到有一些奇怪的错误,如下所示:
LoadFile(String paramLong, long arg3)
{
this.name = paramLong;
Object localObject;
this.size = localObject;
}
我自己从未构建过反编译器,并且根本不熟悉Java字节码,但如果我不得不猜测,我会想到反编译器试图表示传入的参数的本地实例它
一旦您知道this.size
属于Long
类型,该修复就非常明显。
LoadFile(String paramLong, long arg3)
{
this.name = paramLong;
this.size = arg3;
}
如果您继续进行这些更改,您的代码将成功编译。但它仍然无法运行,因为您缺少HTML中设置的参数。 LoaderApplet.java中的示例行如下:
this.manifestCRC = Long.parseLong(getParameter("manifestcrc"));
如果您返回到您在此处找到的HTML页面,您会发现其中指定了各种参数。您应该能够完成项目并用适当的值替换参数请求。
这是我第一次反编译Java的经历,所以我可能错过了一些细节。如果您需要更多帮助,请告诉我。