2016-04-06 10 views
0

Wenn ein iframe haben, die verbindet und zeigt die Daten eines lokalen apiJavascript/Jquery erkennen 403 auf iframe

Mein Problem ist, dass manchmal die iframe einen 403 Fehler.

Wie kann ich erkennen, die 403, so kann ich eine alternetive Nachricht oder Seite angezeigt werden?

+0

haben noch versucht, irgendetwas? –

+0

Anstatt die URL des Frames im Attribut 'src' zu setzen, sollten Sie die URL" testen ", indem Sie eine HEAD-Anfrage an die URL mit Ajax senden und im Erfolgsfall das' src'Attribut Ihrer iframe. Wenn Sie einen Fehler erhalten, zeigen Sie Ihre Nachricht an. –

+1

Besitzt der iframe Ihre Domain? – putvande

Antwort

1

könnten Sie die Eigenschaft IFrame contentDocument

Dies ist ein Beispiel:

<html> 
<body> 
    <iframe id="myframe" src="http:/www.stackoverflow.com/"></iframe> 
    <p>Click the button to change the background color of the document contained in the iframe.</p> 
    <p id="demo"></p> 
    <button onclick="myFunction()">Try it</button> 
    <script> 
     function myFunction() { 
      var x = document.getElementById("myframe"); 
      var y = (x.contentWindow || x.contentDocument); 
      if (y.document)y = y.document; 
      y.body.style.backgroundColor = "red"; 
      y.body.getElementsByTagName("h1")[0].innerHTML = "Done"; 
      //h1 because for me, the 404 error was displayed as <h1> tag. 
      //but like this you got access to the "DOM" 
     } 
    </script> 
</body> 
</html> 
+0

Ich muss ein 403 nicht 404 – Satch3000

+1

@ Satch3000 erkennen die Idee ist, dass mit dem Zugriff auf das DOM, überprüfen Sie für ein bestimmtes Tag, das die API in seiner Antwort haben wird ... vielleicht ein Skript-Tag in der oder so ähnlich dass ... ansonsten müssen Sie den Inhalt mit Ajax bringen und in Ihr Seiten-DOM einfügen. –