2013-02-07 47 views
0

我在移動設備上爲網站提供服務時存在問題,因爲從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提供服務時發出抱怨。

有沒有人遇到過這個問題?

+2

你使用什麼網絡載體?他們可能會攔截你的請求並壓縮東西以「幫助」你省錢 – compid

+0

沃達豐意大利。 – tompave

回答

1

我檢查了您的博客條目。使用空格來格式化佈局或使用是錯誤的方法,並且永遠不會可靠。如果你真的不得不在HTML中使用不間斷的空格。

  

將元素放在元素上然後使用CSS設置邊距和填充效果會好得多。您的解決方法實際上是正確的做法。

+0

謝謝。順便說一句,這是我的移動運營商在非https頁面上刪除空白。 – tompave

相關問題