Wenn ich eine HTML-Seite lade, habe ich 5 Strings, die ungefähr eine Sekunde auseinander liegen.
%Vor%Chromium und Firefox laden und zeigen die erste und dann die nächste an. (Firefox benötigt jedoch eine Inhaltscodierung). Safari verweigert jedoch die Anzeige der Tags, bis die Anfrage beendet ist.
Chrom scheint es einfach zu tun.
Firefox muss zuerst die Inhaltscodierung bestimmen Ссылка
Aber Safari scheint einfach abzulehnen. Ist ein anderer Antwortcode oder Header erforderlich? Ich versuche, den Inhaltstyp explizit auf text / html zu setzen. Hat nicht funktioniert.
Ich habe in Wireshark bestätigt, dass die Zeichenfolgen eine Sekunde auseinander liegen, d. h. sie werden nicht zwischengespeichert und auf einmal gesendet.
Ich habe auch bestätigt, dass dies passiert, wenn ich localhost durchführe oder meine öffentliche IP-Adresse verwende.
Ich habe content-length probiert und am Leben gehalten, früher schließt die Anfrage automatisch, letzteres scheint keine Wirkung zu haben.
Headers und Responses von Wireshark
Firefox (funktioniert)
%Vor%Safari (funktioniert nicht)
%Vor%Demo
%Vor%Ok, damit Safari den HTML-Code mit mindestens 1024 Bytes rendern kann, bevor es wie empfangen zu rendern beginnt.
Sie können unten eine Demo sehen, die sowohl eine funktionierende als auch eine nicht funktionierende Version zeigt. Eine ähnliche Sache passiert in Firefox (da es 1024 Bytes benötigt, um die Kodierung zu bestimmen), aber Sie können festlegen, dass die Kodierung diese in Firefox umgehen soll. Nicht sicher, ob es eine Möglichkeit gibt, das in Safari zu tun.
%Vor% %Vor% Verwenden Sie <br />
oder <br>
anstelle von </br>
, was kein gültiges Tag ist.
Versuchen Sie dies auf Safari für Windows? Wenn ja, dann wird es offiziell nicht mehr unterstützt. Wenn Sie versuchen, dies auf Safari für Mac zu lösen, erstellen Sie bitte eine Demo oder teilen Sie den Link, wenn Sie bereits haben.
Ich kann testen und Ihnen dabei helfen.