我在移動設備上爲網站提供服務時存在問題,因爲從HTML中刪除了空白(包括新行)。
這是一個問題,因爲它會改變inline-block
元素的位置。 (有關該問題的信息,請參閱here)。在移動連接上從HTML中刪除空格。爲什麼以及如何防止
最終我使用了一種解決方法(首先擺脫了內嵌塊元素之間的空白,然後調整了CSS定位),但現在我想弄清楚爲什麼會發生這種情況。
網站的詳細信息:
- 平臺:Ruby on Rails的3.2.11(MRI 1.9.3)
- 模板引擎:ERB
- 機架式服務器:薄(1.5.0)
- 主機:Heroku(雪松)
由於我甚至不確定這是否與rails/rack/heroku相關的問題,我創建了一個虛擬副本:
- 複製的軌道生成的HTML靜態
*.html
文件(及調整CSS和JS鏈接) - 上傳該文件在另一臺機器上(阿帕奇),擔任它作爲一個靜態的HTML文件
我做了一些測試。那麼......結果(幾乎)是一樣的。
如果我送的捲曲GET請求,我得到了上述兩個網站(動態Rails應用程序和靜態HTML文件)我:
- 用我的座機連接我得到充分的「原始」 HTML,與空白,換行符和縮進。
- 使用我的運營商3G連接(共享),我得到了HTML代碼剝離每個空白,就像縮小CSS或JS。 (順便說一句,同樣的事情發生時,我與任何其他網站通過xkcd.com雙重檢查,從google.com)
YET,當我的手機瀏覽,一切都正常在僞靜態的呈現。
我真的不知道問題出在哪裏。由於捲曲總是得到在3G上縮小HTML,我認爲這個問題是在網絡上。然而,智能手機只會在頁面由Rails提供服務時發出抱怨。
有沒有人遇到過這個問題?
你使用什麼網絡載體?他們可能會攔截你的請求並壓縮東西以「幫助」你省錢 – compid
沃達豐意大利。 – tompave