HighDots Forums  

Same origin policy

Javascript (German) Programmiersprache JavaScript. (de.comp.lang.javascript)


Discuss Same origin policy in the Javascript (German) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Michael Sattler
 
Posts: n/a

Default Same origin policy - 09-06-2004 , 06:08 AM






Hallo,

ich schreibe gerade für den Eigengebrauch ein Javascript. Eine der
Funktionen soll sein, eine externe Suche (Google, Whois) in ein
Frameset (oder iFrame oder Popup) zu laden und daraus (in diesem
Test-Beispiel) den Seitentitel in eine Variable auszulesen.

Geht natürlich erstmal nicht, wegen der 'same origin policy'.

Aber das Script soll ja nur auf meinem Browser funktionieren, daher
dachte ich, ich könnte die JS-Sicherheitseinstellungen des Mozilla
umgehen, indem ich in meinem Profilverzeichnis eine user.js mit
folgendem Inhalt erzeuge:

user_pref("capability.policy.policynames", "test");
user_pref("capability.policy.test.sites",
"http://www.meinedomain.de/meinscript/");
user_pref("capability.policy.test.HTMLDocument.tit le", "allAccess");


Funktioniert aber trotzdem nicht, die JS-Konsole vermeldet:
Quote:
Fehler: uncaught exception: Permission denied
to get property HTMLDocument.title
Weiß jemand, woran das liegen könnte bzw. ob das überhaupt möglich
ist?


Grüsse,
Michael


Reply With Quote
  #2  
Old   
Martin Honnen
 
Posts: n/a

Default Re: Same origin policy - 09-06-2004 , 06:30 AM








Michael Sattler wrote:


Quote:
ich schreibe gerade für den Eigengebrauch ein Javascript. Eine der
Funktionen soll sein, eine externe Suche (Google, Whois) in ein
Frameset (oder iFrame oder Popup) zu laden und daraus (in diesem
Test-Beispiel) den Seitentitel in eine Variable auszulesen.

Moeglich ist es zum Beispiel, wenn deine HTML Seite per file: URL
geladen wird, dann kannst du das Privileg UniversalBrowserRead erfragen,
um auf den Inhalt fremder Seiten zuzugreifen, also z.B.

var iframe = document.createElement('iframe');
iframe.addEventListener(
'load',
function (evt) {

netscape.security.PrivilegeManager.enablePrivilege ('UniversalBrowserRead');
alert(evt.currentTarget.contentDocument.title);
},
false
);
iframe.src = 'http://www.google.com/';
document.body.appendChild(iframe);

Einer Seite, die per HTTP URL geladen wird, ist es aber mit den normalen
Sicherheitseinstellungen nicht moeglich, enablePrivilege erfolgreich
aufzurufen, da muesstest du dann die Einstellungen aendern.


--

Martin Honnen
http://JavaScript.FAQTs.com/


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.