2009-07-05 4 views
0

Ich erhalte diesen Fehler jedes Mal, wenn ich eine AJAX (iFrame) -Anfrage zum Hochladen eines Videos auf Viddler mache.Berechtigung verweigert, Eigenschaft zu erhalten XMLDocument.readyState

Permission denied to get property XMLDocument.readyState 
ajaxupload35.js (line 455) 
[Break on this error] if (doc.readyState && doc.readyState != 'complete'){ 

Linie 455-460 ist dies:

  // fixing Opera 9.26 
      if (doc.readyState && doc.readyState != 'complete'){ 
       // Opera fires load event multiple times 
       // Even when the DOM is not ready yet 
       // this fix should not affect other browsers 
       return; 
      } 

Full script can be found here.

Ich bekomme diesen Fehler obwohl alles für mich funktioniert. Aber ich würde es lieber lösen - kann mir jemand helfen?

Von another stackoverflow question, ich lese von Tor Haugen "Bezieht sich iframe auf eine andere Domain? Wenn dies der Fall ist, treffen Sie wahrscheinlich die Cross-Site-Scripting-Verteidigung Ihres Browsers".

Ist der gleiche Fall für mich, wenn ja, wie kann ich das beheben?

Dank

Antwort

3

Sie benötigen einen serverseitigen Proxy die Cross-Domain-Anfrage für Sie und rufen Sie diesen Proxy mit AJAX zu machen, weil Javascript nicht anderen Domänen zugreifen können.

+0

Es ist ein Formular, das viddler von meiner Website mit einem iFrame eingereicht wird und nur auf die Antwort wartet. Sicher kann JS thi ohne Zugriff auf die andere Domäne, richtig? – Abs

+1

Ja, Sie können die Antwort senden, aber Sie können die Antwort nicht erhalten, da sie sich in einem Frame befindet, der eine HTML-Seite (oder eine andere Art von Antwort) aus einer anderen Domäne anzeigt. –