Avatar billede stringbuffer Nybegynder
07. december 2002 - 12:18 Der er 7 kommentarer og
1 løsning

JavaScript -> Applet kald fejler

Jeg har lavet en chat-klient, der henter en meget lille Java-applet fra samme IP som chatserveren, og bruger den til at sende og modtage. Alt anden funktionalitet ligger i javascript, der hentes fra en anden server.

Nu er problemet at jeg sagtens kan få det til at køre i IE, men i Nutscape og Bugzilla kegler den med exception:

Java(TM) Plug-in: Version 1.4.0_01
Using JRE version 1.4.0_01-ea Java HotSpot(TM) Client VM
sun.plugin.liveconnect.OriginNotAllowedException: JavaScript is not from the same origin as the Java code, caller=http://192.168.0.2, callee=http://server.zhat.dk/client/Client.zip

    at sun.plugin.liveconnect.SecureInvocation.checkLiveConnectCaller(Unknown Source)

    at sun.plugin.liveconnect.SecureInvocation.access$000(Unknown Source)

    at sun.plugin.liveconnect.SecureInvocation$2.run(Unknown Source)

    at java.security.AccessController.doPrivileged(Native Method)

    at sun.plugin.liveconnect.SecureInvocation.CallMethod(Unknown Source)


Hvordan kan jeg omgå problemet? Det er ikke muligt at hente scriptet fra samme server, da det fylder for meget, og serveren er kun forbundet med 256 Kbit/s linie.
Avatar billede Slettet bruger
08. december 2002 - 23:01 #1
Det er en sikkerhedsfunktion i Netscape og Mozilla, så jeg tvivler på at du kan omgå den. Det skulle dog være muligt for brugerne at give sider lov til at benytte den usikrer kaldemetode.
Avatar billede Slettet bruger
09. december 2002 - 01:59 #2
Der er en forklaring på følgende sider:
http://devedge.netscape.com/viewsource/2002/bypassing-security-restrictions/ og
http://www.mozilla.org/projects/security/components/same-origin.html

Det lader til at du kan få det til at virke hvis opretter et subdomæne til serveren med javascript kode(eks. kode.zhat.dk) og sætter document.domain = "zhat.dk";
Avatar billede stringbuffer Nybegynder
09. december 2002 - 11:00 #3
JavaScriptet er på zhat.dk og appleten på server.zhat.dk - skal jeg så skrive document.domain = "server.zhat.dk" i scriptet?
Avatar billede Slettet bruger
09. december 2002 - 15:11 #4
jeg tror du skal skrive document.domain = "zhat.dk";
Avatar billede stringbuffer Nybegynder
09. december 2002 - 15:33 #5
sun.plugin.liveconnect.OriginNotAllowedException: JavaScript is not from the same origin as the Java code, caller=http://zhat.dk, callee=http://server.zhat.dk/client/client.jar

    at sun.plugin.liveconnect.SecureInvocation.checkLiveConnectCaller(Unknown Source)

    at sun.plugin.liveconnect.SecureInvocation.access$000(Unknown Source)

    at sun.plugin.liveconnect.SecureInvocation$2.run(Unknown Source)

    at java.security.AccessController.doPrivileged(Native Method)

    at sun.plugin.liveconnect.SecureInvocation.CallMethod(Unknown Source)
Avatar billede Slettet bruger
09. december 2002 - 16:02 #6
hmmm, så vidt jeg kan se skulle det være muligt når begge servere er under samme domæne. Det er dog ikke noget jeg selv har arbejdet med.

Alternativt kan du bede brugerne om lov til at få UniversalBrowserWrite access fra dit script:
http://www.mozilla.org/projects/security/components/signed-scripts.html#privs-list
Eller få brugerne til at tilføje zhat.dk som et sikkert websted med forhøjede privilegier:
http://www.mozilla.org/projects/security/components/ConfigPolicy.html

Jeg er sikker på at du kan finde en løsning, men det kræver nok at der skal læses en del dokumentation først.
Avatar billede stringbuffer Nybegynder
09. december 2002 - 16:12 #7
UniversalBrowserWrite er næppe noget, mine brugere vil tillade. Og det skal de heller ikke tage stilling til om de vil. Hvis jeg vil bede dem om det, kunne jeg ligesågodt lave en eksekverbar klient, de kunne downloade og køre.

Der er en ting, jeg har hørt at man kan, men har ikke kunnet finde noget dokumentation af det: det er brug af attributet ARCHIVE i <script> - tags, så man kan have en .jar fil med flere .js scripts i komprimeret form.

Jeg ville bruge det ved at lægge min applet sammen med et .js script, der indkapsler kald til appletens metoder. Men hvordan gør man?
Avatar billede stringbuffer Nybegynder
15. januar 2003 - 12:31 #8
gab <- det virker ikke.

Jeg har opgivet at få det til at virke, må lægge alt på samme IP.... PIS!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester