签名的Java Applet / Web Start是否可以操纵跨站点IFRAME中的内容?

时间:2010-01-25 04:15:00

标签: java dom applet cross-domain

签名的Java Applet或Web Start应用程序是否可以在不同的域下写入IFRAME的DOM?

他们是签名小程序/ javaws的事实是否允许他们忽略浏览器的标准跨浏览器安全性?

如果这确实有效,那么主流浏览器的支持程度如何?

谢谢!

修改

我的动机是为我无法控制的第三方网站添加类似浏览器插件的工具。我根本不需要使用Java--鼓励任何想法或建议。

4 个答案:

答案 0 :(得分:1)

Java不是JavaScript,因此Applet没有与IFrame传输的交易。 Applet在JVM(例如Sun)中运行,JavaScript在浏览器JSEngine(Gecko)中运行

所以,忘了小程序。 如果您考虑浏览器插件,请查看FireBug, 如果你想要跨浏览脚本,试试javascript标签传输。

答案 1 :(得分:1)

不,Java,即使是签名的Java小程序,也不会赋予JavaScript权力。

答案 2 :(得分:0)

DOM的Applet操作是通过LiveConnect完成的,所以我想浏览器的JavaScript安全性应该到位并阻止你。当然,你可以破解它。我不知道怎么回事。

与以往一样,我建议不要签署代码,除非真的真的知道你在做什么。

答案 3 :(得分:0)

BTW Java Applet能够与javascript通信,反之亦然。

查看http://www.rgagnon.com/howto.html

JAVA APPLET:

import java.applet.*;
import java.net.*;

public class InJava4 extends Applet{
  public void init(){
    String msg = "Hello from Java (using javascript alert)";
    try {
      getAppletContext().showDocument
        (new URL("javascript:doAlert(\"" + msg +"\")"));
      }
    catch (MalformedURLException me) { }
  }
}

Javascript和HTML

<HTML><HEAD></HEAD><BODY>
<SCRIPT>
function doAlert(s) {
   alert(s);
   }

</SCRIPT>
<APPLET CODE="InJava4.class"
        NAME="myApplet"  MAYSCRIPT
        HEIGHT=10 WIDTH=10>
</APPLET>
</BODY>
</HTML>