簡體   English   中英

由express.js提供服務時,HTML元視口標記被忽略

[英]HTML meta viewport tag ignored when served by express.js

我有以下代碼。 我正在Android 8.1下的Chrome 67中加載它。 我正在從兩個站點加載相同的代碼。 一個URL如下所示,由Apache提供:

https://my.site/vtest.html

第二個看起來像這樣,由express.js提供:

http://my.site:8081/vtest.html

在兩種情況下都提供相同的靜態HTML頁面:

<!doctype html>  
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, height=device-height initial-scale=1 user-scalable=no">
<meta name="mobile-web-app-capable" content="yes">
<title>Viewport Test</title>
</head>
<body>
  <H1>Viewport Test</H1>
</body>
</html>

第一個站點有效:頁面始終具有相同的縮放比例,並且我無法放大和縮小。 第二頁沒有-我能夠放大和縮小,並且當我重新加載頁面時,它會記住當前的縮放級別(而不是按照initial-scale指令將其重置為1)。

我修改了Apache網站,使其從http而不是https提供服務,但它仍然有效! 它將Apache站點從8081端口(而不是80)修改為服務器,並且仍然有效! 因此,我能看到的唯一剩下的區別是,一個是Apache的服務器,一個是express.js的服務器。

但是,當我使用Chrome開發人員工具檢查頁面上的HTML時,它們是相同的HTML。 當我檢查獲取頁面的網絡請求時,響應頭中有一些細微的差別,但是我什么都看不到,這會導致express.js服務頁面導致瀏覽器忽略元視口標簽。

我曾嘗試解決此問題,但想法不多了。 這可能是怎么回事?

這與頁面如何作為服務器無關。 如果您的移動瀏覽器在選項菜單下選中了“桌面站點”選項(通常在右上角為三個點),則會發生這種情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM