2010-01-25 48 views
2

签名的Java Applet或Web Start应用程序可能写入不同域下的IFRAME的DOM吗?签名的Java Applet/Web Start可以处理跨站点IFRAME中的内容吗?

事实上,他们是一个签名applet/javaws允许他们忽略浏览器的标准跨浏览器安全?

如果这确实起作用,它在主要浏览器中的支持情况如何?

谢谢!

编辑

我的动机是增加一个浏览器插件状工具对第三方网站我不要管。我根本不需要使用Java ---鼓励任何想法或建议。

回答

1

不,Java,即使是已签名的Java小程序,也不会赋予JavaScript功能。

0

DOM的Applet操作是通过LiveConnect完成的,所以我猜浏览器的JavaScript安全性应该到位并阻止你。当然,你可以绕过它。我不知道如何去解决这个问题。

一如既往,我建议不要签字代码,除非你真的真的知道你在做什么。

1

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

因此,忘记applet。 如果您想了解浏览器插件,请查看FireBug, 如果您想交叉浏览脚本,请尝试使用javascript标记传输。

0

顺便说一句Java Applets能够与javascript进行通信,反之亦然。

退房http://www.rgagnon.com/howto.html

Java小程序:

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> 
相关问题