Html applet标签,通过chrome开发人员工具访问

时间:2012-05-29 14:36:34

标签: html google-chrome applet

我碰巧收到带有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&amp;h=2000&amp;symbol=N%5EMSFT&amp;montage=true&amp;sources=afx:ukreg:rssnon&amp;dims=664 79 15 0&amp;col_widths=45 55 344 90 115&amp;sid=1f58fa6b4ea88725c5b8e23d614a6e80&amp;page_key=1338581393&amp;w=1100&amp;h=2000&amp;pid=applet_embed&amp;mypid=trades"><center><iframe width="600" height="300" src="/p.php?pid=javadisabled"></iframe></center></applet>

2 个答案:

答案 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的经历,所以我可能错过了一些细节。如果您需要更多帮助,请告诉我。