2010-01-25 7 views
2

Est-il possible qu'une application Java Applet ou Web Start signée écrive sur le DOM d'un IFRAME sous un domaine différent? Le fait qu'il s'agisse d'une applet/javaws signée leur permet-il d'ignorer la sécurité standard des navigateurs?Une applet Java/Web Start signée peut-elle manipuler du contenu dans un IFRAME intersite?

Si cela fonctionne, dans quelle mesure est-il supporté par les principaux navigateurs?

Merci!

EDIT:

Ma motivation est d'ajouter un outil de plugin comme navigateur vers des sites tiers que je ne contrôle pas. Il n'est pas nécessaire que j'utilise Java du tout --- toutes les idées ou suggestions sont encouragées.

Répondre

1

Non, Java, même les applets Java signées, ne donnent pas de pouvoirs JavaScript.

0

La manipulation des applets du DOM se fait via LiveConnect, donc je suppose que la sécurité JavaScript du navigateur devrait être en place et vous empêcher. Vous pourriez, bien sûr, bidouiller autour d'elle. Je ne sais pas comment faire.

Comme toujours, je suggère de ne pas la signature du code, sauf si vous vraiment, vraiment savez ce que vous faites.

1

Java n'est pas JavaScript, donc les applets n'ont pas d'offres avec le transport IFrame. L'applet s'exécute en JVM (par exemple Sun), JavaScript dans le navigateur JSEngine (Gecko)

Alors, oubliez les applets. Si vous pensez au plugin du navigateur, jetez un coup d'oeil sur FireBug, si vous voulez des scripts de crossbrowsing, essayez le transport de tag javascript.

0

Les applets Java BTW peuvent communiquer avec javascript et vice versa.

Découvrez 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 et 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> 
Questions connexes