Sicherheitsschranke vom Browser umgehen

MeinName12

Grünschnabel
Firefox meldet:
Permission denied to access property 'document'
Code:
<script type="text/javascript">
function getContentFromIframe(iFrameName, iFrameName2, link)
{
var myIFrame = document.getElementById(iFrameName);
var content = myIFrame.contentWindow.document.body.innerHTML;
alert('Frame 1 content: ' + content);   
var myIFramesrc = myIFrame.contentWindow.document.getElementById(iFrameName2).src;
alert('Frame 2 src: ' + myIFramesrc);
var myIFrame = myIFrame.contentWindow.document.getElementById(iFrameName2);
var myIFrame = myIFrame.contentWindow.document.getElementById(link).href; //hier ist der fehler
alert('href: ' + myIFrame);
oeffnefenster(myIFrame);
}
</script>

Zur Funktion des Codes:
ich hab einen iframe(Frame1) eingebettet, indem noch ein frame(Frame2) ist und in diesem frame ist ein Link, dessen href ich auslesen will.

ich verstehe nicht, warum ich da von den browsern blockiert werde, ich mache doch nichts böses. ich wollte fragen wie ich das umgehen kann ohne einen eigenen browser programmieren zu müssen *gg*
ich hab mal gegoogelt und das da gefunden als lösung: (ging aber nicht)
HTML:
<script type="text/javascript">
function getContentFromIframe(iFrameName, iFrameName2, link)
{
var myIFrame = document.getElementById(iFrameName);
var content = myIFrame.contentWindow.document.body.innerHTML;
alert('Frame 1 content: ' + content);   
var myIFramesrc = myIFrame.contentWindow.document.getElementById(iFrameName2).src;
alert('Frame 2 src: ' + myIFramesrc);
var myIFramesrc = myIFramesrc.match(/:\/\/(www[0-9]?\.)?(.[^/:]+)/)[2];
document.domain = "https://" + myIFramesrc;
alert('Frame 2 src: https://' + myIFramesrc);
var myIFrame = myIFrame.contentWindow.document.getElementById(iFrameName2);
var myIFrame = myIFrame.contentWindow.document.getElementById(link).href; //hier ist der fehler
alert('href: ' + myIFrame);
oeffnefenster(myIFrame);
}
</script>
 
Wenn die Webseiten auf unterschiedlichen Domains sind, dann kannst du das vergessen.

ich verstehe nicht, warum ich da von den browsern blockiert werde, ich mache doch nichts böses.

Das weiß der Browser ja nicht. Wenn in dem IFrame Facebook geladen wäre, dann könntest du von jedem Besucher die Daten auslesen.
 
Mir ist nichts bekannt.

Aber vielleicht kannst du ja deine Anforderungen schildern und uns fällt eine bessere Lösung ein.
 
Okay und gibts sonst eine Möglichkeit dem Browser vorzutäuschen man sei die geladene Webseite?

Aus gutem Grund gibt es das nicht. Wenn du irgendwelche Daten von einer anderen Seite darstellen willst (z.B. Wetterdaten oder Börsennachrichten) so benutz bitte die entsprechende API von der Webseite und halte dich an die Regeln dort.
 

Neue Beiträge

Zurück