internet2107
Goto Top

Javascript - Internetverbindung - IOS9

Hallo zusammen.

Folgendes "Problem". Vielleicht hat ja jemand einen Tipp und kann helfen.

Bisher (bis Version IOS9) klappte folgende Sache in Javascript immer ohne Probleme.
Irgendwas muss nun aber verändert worden sein, so dass diese Funktion nicht mehr klappt.

Im folgenden Script kann mit einem Menü eine Webseite angesteuert werden. Bevor aber eine Verbindung zu der Seite aufgebaut wird, überprüft das Script mit einem kurzen Verbindungsversuch, eine Art Ping, ob eine Internetverbindung existiert. Ist keine Verbindung vorhanden (weil das iPhone offline ist), erscheint eine Meldung.

Der Fehler ist nun, dass obwohl das iPhone online ist und obwohl die Webseite(n) existieren, dennoch immer die Meldung erscheint, dass keine Verbindung existiert. Das ist erst seit IOS9. Als ob Apple eine Art Firewall eingebaut hat.

{
		$.ajax({
          url: 'http://www.google.de',  
          success: function(result){
               document.getElementById("footer_deep").innerHTML = "Prüfe Internetverbindung";  
               document.getElementById("footer_deep").style.background = "green";  
               document.getElementById("footer_deep").innerHTML = "Sie sind offline.<br>Bitte Internetverbindung testen.";  
               document.getElementById("footer_deep").style.background = "red";  
               location.href = "http://www.zielseite.de";  
			   
          },     
          error: function(result){
               document.getElementById("footer_deep").innerHTML = "Sie sind offline.<br>Bitte Internetverbindung testen.";  
	document.getElementById("footer_deep").style.background = "red";  
	setInterval(function () {
document.getElementById("footer_deep").innerHTML = "";  
document.getElementById("footer_deep").style.background = "";}, 10000);  
          }
       });
}

Jemand ne Idee?

Content-Key: 283958

Url: https://administrator.de/contentid/283958

Printed on: April 18, 2024 at 03:04 o'clock

Mitglied: 122990
122990 Sep 26, 2015 updated at 16:48:38 (UTC)
Goto Top
Moin,
ganz einfach, weil das ein JavaScript Cross-Domain Request ist den Google mit der SAMEORIGIN-Policy im Header und der iOS-Browser ablehnt.
Mach dir also besser eine eigene PHP-Seite die das checkt und dir das Ergebnis via Ajax zurückgibt. Du musst also nur irgendeine Seite welche auf deinem Server liegt "anpingen" dann läuft das auch, weil es dann kein XSS ist.
Oder du suchst dir eine Seite die im Header access-control-allow-origin: * definert, damit funktioniert der Cross-Domain Request

Gruß grexit