Iframe在IOS使用Bootstrap失效


                這是我將一個資料維護的網頁版面改成RWD時遇到的問題,在Android的手機上和桌機上看的網頁明明都有隨著螢幕大小做調整,為何在IOS的系統上看RWD的效果卻跑不出來,以下是我做的測試截圖及最後查了好幾天的資料才找到解決的方法:

                這個是內部職員使用的資訊系統,要改版的網頁是整個資訊系統內其中一個子系統,系統內的網頁導覽列應該要是把表題內縮到圖中右上角的按鈕內,資料表格當欄位過多時(資料表格有14)可以往右滑動,不會因為超出螢幕的欄位而讓資料很難觀看或頁面很亂。


Ipad mini 4-IOS瀏覽器


實機測試我用的是平板Ipad mini 4,當網頁使用IOSSafrai瀏覽器觀看時,導覽列應該出現的三欄式按鈕不見了,而導覽列標題沒有內縮到三欄式按鈕內。表格超出螢幕範圍頁面並沒有照著螢幕大小做調整。


Ipad mini 4-IOS瀏覽器

一開始我認為是導覽列的斷點失效,但在Chrome用模擬器查看Ipad mini 4的尺寸發現導覽列可以依尺寸做調整,那問題就不在導覽列上了。因此,我推測有可能是表格的欄位欄位長度造成,原本14欄的表格,先做註解剩3欄,果然導覽列能調整成三列式的按鈕,但頁面還是沒有調整至螢幕能觀看的最好狀態,那問題就應該是在表格上面了,但為什麽會造成這樣的狀況?

Chrome模擬器寬度(756px)





我又用jquery印出桌機和Ipad mini 4螢幕的寬度,發現和桌機21吋的螢幕印出來的數值竟然差不多,平板也才7吋大而已,這是一件很奇怪的事,而當我把網頁移出資訊系統的Iframe框架外用Ipad mini 4單獨看發現斷點並沒有失效,所有的功能都能正常運作,那就可以推斷是資訊系統的框架和RWDCSS可能在IOS系統下會有不支援的情況。

桌機寬度(1641px)



Ipad mini 4寬度(1672px)


         IframeIOS 11就存在這個問題,有些RWD的頁面在Iframe內有溢出的現象。而且無法從設定Iframe去解決,要解決這個問題就要從內部著手了,也就是RWD的頁面去做調整,在CSS body設定寬度的優先權避免表格溢出的問題,解決方法:

body {
   max-width: 100vw !important;
}


!important; 設定優先等級


成功畫面




參考網址:







留言

這個網誌中的熱門文章

Fatal error: Call to a member function bindValue() on null

IIS-Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80004005'

ORA-12899: value too large for column