HTML code not working on Ipad

OP #7359620
Lesenswert?

I am trying to create a webpage in my local network using an Esp8266. I found this article (https://www.instructables.com/Simple-Webserver-Using-Arduino-UNOMega-and-ESP8266/) on the internet and everything worked fine. I can view the webpage from my pc but not from an Ipad. Somehow the code works for Windows machines but not Ipads. Why? Thank you in advance.

Angehängte Dateien:
Gast #7359637
Lesenswert?

Da die Kommentare so oder so auf deutsch waren:

  • Ofensichtlich funktioniert Deine SW einigermassen. Einziger Punkt (aber das koennen meine fehlenden C++-Faehigkeiten sein):
1
String createWebPage(){
2
  String page = "<h1>Solar-Pumpe</h1><p>Temperatur oben: ";
3
  ...
4
  return page;

Wuerde das nicht ein Speicherleck produzieren? Aber meine C++-Faehigkeiten sind ausbaufaehig.

  • Zeige mal den Quellcode Deiner Webseite. Einigene Webbrowser sind etwas schwierig. Eine Standardwebseite sollte etwa so aussehen:
1
<!DOCTYPE html>
2
<html lang="de">
3
<head>
4
  <meta charset="UTF-8">
5
  <title>Eine Test Web-seite</title>
6
  <meta name="description" content="Inhaltverzeichnis">
7
</head>
8

9
<body>
10

11
</body>
12
</html>

Gruesse

Th.

Gast #7359648
Lesenswert?

Ja, und am PC (welcher Browser) funktionert es ja. Am IPad nicht.

Spendiere doch einfach mal:

1
<!DOCTYPE html>
2
<html lang="de">
3
<head>
4
  <meta charset="UTF-8">
5
  <title>Eine Test Web-seite</title>
6
  <meta name="description" content="Inhaltverzeichnis">
7
</head>
8

9
<body>
10
 <h1>Solar-Pumpe</h1>
11
 <p>Temperatur oben: 70&#x2103</p>
12
 <p>Temperatur unten: 10&#x2103</p>
13
 <p>Pumpe: an
14
 <br>100&#x25</p>
15
</body>
16
</html>

Kostet ja nix. Denn der Code ist so simple, dass es etwas simples sein muss (z.b. Flasche IP-Adresse, Firewall). Vielleicht gibt es hier auch einen Apple-Benutzer der diese Frage loesen kann.

Gruesse

Th.

Gast #7359696
Lesenswert?

Moin, -

w3-Validator meckert noch ein paar Semikoli nach dem Grad-Zeichen an:

1
 <p>Temperatur oben: 70&#x2103;</p>

ob das Entscheidend ist kann ich nicht sagen. Habe keine Apple-Produkte.

Gruesse

Th.

P.S.: Zeigt das Ding nichts an? Kann man irgendwie den Seitenquellkode anzeigen lassen?

OP #7360249
Lesenswert?

Jetzt funktioniert es. Tausend Dank an alle, die versucht haben, das Problem zu lösen. Die webpage die am Ende auch auf dem Ipad funktioniert hat war: "HTTP/1.0 200 OK\r\n" "Content-Type: text/html\r\n" "\r\n" "<h1>Solar-Pumpe</h1>" "<p>Temperatur oben: 70&#x2103</p>" "<p>Temperatur unten: 10&#x2103</p>" "<p>Pumpe: an" "<br>100&#x25</p>" also mit dem http-header aber ohne das komplizierte Web-design.

Nochmals Danke an alle

Benjamin

#7360317
Lesenswert?

Benjamin schrieb:

also mit dem http-header aber ohne das komplizierte Web-design.

Also immer noch kaputt, so dass Du jederzeit damit rechnen musst, dass nach einem Browser-Update nichts mehr geht.

Du solltest mindestens noch "<html><head><title>Seitentitel</title></head><body>" davor- und "</body></html>" dahintersetzen, das wird Deinen Speicherplatz nicht sprengen.

#7360551
Lesenswert?

Hmmm schrieb:

Benjamin schrieb:

also mit dem http-header aber ohne das komplizierte Web-design.

Also immer noch kaputt, so dass Du jederzeit damit rechnen musst, dass nach einem Browser-Update nichts mehr geht.

Auch wenn man das formal da haben sollte, da muss man sich keine Sorgen machen.

Wenn es nach mir ginge, würde im Web richtiges XML verwendet, da hat man simple, strikte und konsistente Regeln, an die man sich halten muss.

Aber wir haben stattdessen nun mal HTML. Der wilde Westen, wo jeder macht, was er will. Es gibt da Unmengen regeln, was wo drin sein dürfte, welche Tags self closing sind oder sein können, etc. Aber letztendlich bleibt HTML ein zusammengehackter Mist.

Nichteinmal die Browserhersteller oder die W3C kümmern sich mehr darum, was erlaubt wäre, und was nicht. Als Beispiel, eigene Attribute müssen nach HTML5 mit "data-" anfangen. Aber wenn man in JS WebComponents definiert, definiert man die Attributre ohne "data-" Prefix: https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks

Es gibt gewisse Regeln, an die man sich halten muss. z.B. welche Tags man schliessen muss, oder auch welche Tags in welchen Tags erlaubt sind, einfach weil der Browser anhand dessen den Inhalt interpretiert.

Aber das <html> Gerüst, dass kann einem egal sein. Eigentlich ist meistens so, wenn es läuft, läufts, und wird auch weiterhin laufen.

(Das mit den HTTP Headern darf man hingegen nicht falsch machen. Das ist nicht teil von HTML, und wenn man sich nicht an HTTP hält, geht es nicht!)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren