[HTML & JavaScript] 遇到鬼的 IE ,到底怎樣將 IE 頁框裡水平捲軸給移除掉~

相信如果有使用過頁框(frame) 這種又舊又難用的爛語法做設計時,而你又只用 IE 做測試或唯一瀏覽器(不要懷疑,一堆做網頁或教人做網頁的人,根本就不知道或著不了解其他瀏覽器在做什麼,有的是根本電腦就沒裝)那我想或多或少一定會遇到某些特定頁框的水平捲軸就一定會像遇到鬼一樣的出現!而且無法單獨讓水平捲軸隱藏起來,可是出現的話又會破壞畫面的美觀(就一直會有個水平捲軸在下方)。但是明明我連網頁內容也就是 BODY 裡根本就是空的情形下還是一樣,水平捲軸就是會像是遇到鬼一樣的出現,而且不論你的 SCREEN 有多大都一樣,水平捲軸還是那句話「像是遇到鬼一樣的出現」

可是上述的情形其實只出現在 IE6.0 其他的版本或瀏覽器如: IE7.0 OR Firefox OR Opera 都不會有,所以我想應該是 IE 的問題,但是其實要很快的解決這個問題,也很容易,只要將網頁最上方的頁面描述給拿掉就好,如下面的 CODE:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

但是如果你將上述的 CODE 拿掉,我想你也就跟網頁標準越來越遠,而且你的 CSS 控制也會大有問題,所以問題也不能這樣解決是吧!
再不然,即然這個問題是 IE 的 bug,該脆建議所有的人都可以改用 Firefox 之類的先進瀏覽器,但如果大家都能這樣做的話,那我們一定都不是"人"了,人才不會接受大家都一樣的事,是吧!所以啊~即然大多數的使用者還是使用 IE 的話,我們(設計師 OR 講師)也只能想想辦法讓那個見到鬼的水平捲軸給我消失掉(大吼狀)。

我想要解決這個問題大多數的人都會朝向使用 CSS ,我一開始也是,但是不管怎麼試都沒用,所以不用再試了,而解決的方法其實只要使用 JavaScript 就會簡單的多了。
不知道是在那看到的,放在我的筆記裡有一段時間了,我剛試了一下,還真是可以耶!
以下就是要使用的 CODE ,而這段 CODE 要貼入你想要把水平捲軸給移除的網頁裡即可(記得要放入<head> </head>檔頭哦!)

<script type="text/javascript">
window.onload = function()
{
document.documentElement.style.overflowX = 'hidden';
document.body.style.overflowX = 'hidden';
}
</script>


PS:後話,其實使用頁框真的很笨又很爛,多張網頁只能組合出一張畫面,頁框那會把畫面切得四分五裂,畫面很難設計,除了在我那個表格不好使用又還沒有 CSS 的年代裡,大多數的人必須要用,我不懂,為什麼到現在還有人要用呢?
其實我到今天還是有幫客戶做頁框的網站,但是只要客戶不堅持,我一定會說服他改成表格或 CSS 的網站,要不然就是我們在幫客戶寫後台時,做控制畫面使用頁框也很容易呈現管理介面,但是畫面會很死板,但是誰會要求後台還要美感,見鬼咧!
重點是,無論你想要做什麼,一定會有新的,好用的技術可以幫助你更快的完成你想要做的事,又何必要用這種過時的東西,「放棄」才是正途不是嗎?

3 Comments:

匿名 提到...

不好意思打攪了!!

請問這篇文章內提供的JavaScript code還有效嗎?

剛剛用IE測試時,水平捲軸似乎還是存在耶,

所以請問是怎麼回事了,謝謝。

蕃茄 (Tomato) 提到...

to Shadow:
目前我測試是可以使用的,如果你不介意的話,可以將檔案寄給我,我可以幫你看看問題出在那,或是你將檔案內的 head 裡的原始碼貼上來看看也行。

cgi 提到...

hello 不好意思 在搜尋解決問題的時候找到這裡
想請教一下關於引用程式碼的問題
我看板主的程式碼過長會自動斷行
我做好的程式碼會自動產生很討厭的捲軸
我希望可以讓它自動斷行,不要產生左右橫向的捲軸
請問版主知道該怎麼解決嗎?

謝謝

 
© 2008 Blogger Template Layout Design by [ Fanchie AirHead ]