Revert "Skip replacing meta/viewport"

This reverts commit 6c460eef23.
pull/215/head
M66B 1 year ago
parent 61b8c6fd36
commit da0fc61ace

@ -2481,39 +2481,43 @@ public class HtmlHelper {
// https://developer.mozilla.org/en-US/docs/Mozilla/Mobile/Viewport_meta_tag // https://developer.mozilla.org/en-US/docs/Mozilla/Mobile/Viewport_meta_tag
// https://drafts.csswg.org/css-device-adapt/#viewport-meta // https://drafts.csswg.org/css-device-adapt/#viewport-meta
Elements meta = document.select("meta").select("[name=viewport]"); Elements meta = document.select("meta").select("[name=viewport]");
if (meta.size() != 1)
return;
// Note that the browser will recognize meta elements in the body too // Note that the browser will recognize meta elements in the body too
if (overview) { if (overview) {
// fit width // fit width
//meta.remove(); meta.remove();
//document.head().prependElement("meta") document.head().prependElement("meta")
// .attr("name", "viewport") .attr("name", "viewport")
// .attr("content", "width=device-width"); .attr("content", "width=device-width");
} else { } else {
String content = meta.attr("content"); if (meta.size() == 1) {
String[] param = content.split("[;,]"); String content = meta.attr("content");
for (int i = 0; i < param.length; i++) { String[] param = content.split("[;,]");
String[] kv = param[i].split("="); for (int i = 0; i < param.length; i++) {
if (kv.length == 2) { String[] kv = param[i].split("=");
String key = kv[0] if (kv.length == 2) {
.replaceAll("\\s+", "") String key = kv[0]
.toLowerCase(Locale.ROOT); .replaceAll("\\s+", "")
switch (key) { .toLowerCase(Locale.ROOT);
case "user-scalable": switch (key) {
kv[1] = "yes"; case "user-scalable":
param[i] = TextUtils.join("=", kv); kv[1] = "yes";
break; param[i] = TextUtils.join("=", kv);
case "minimum-scale": break;
case "maximum-scale": case "minimum-scale":
kv[0] = "disabled-scaling"; case "maximum-scale":
param[i] = TextUtils.join("=", kv); kv[0] = "disabled-scaling";
break; param[i] = TextUtils.join("=", kv);
break;
}
} }
} }
meta.attr("content", TextUtils.join(",", param));
} else {
meta.remove();
document.head().prependElement("meta")
.attr("name", "viewport")
.attr("content", "width=device-width, initial-scale=1.0");
} }
meta.attr("content", TextUtils.join(",", param));
} }
if (BuildConfig.DEBUG) if (BuildConfig.DEBUG)

Loading…
Cancel
Save