免費佈景在IE下一片空白的問題

點閱:6551 平均評分:10.00 (1票) 迴響:26
作者:睡蓮 來源:池水間
  四天前有幸接了 vietnam 網友的問題佈景做測試,會說有幸是因為此次佈景測試對我來說具挑戰性,重要的是不少問題佈景皆出自專業佈景網站,且涉及數量之多,教人大開眼界。

  首先說說 vietnam 使用的佈景,涉及問題不止一款,不外乎全都是在 IE 7 下點按主選單連結轉換頁面時會翻白頁,其中佈景還附加贈送IE左下角報錯的三角圖示。

  接下這佈景測試的首天,將佈景放到 XOOPS 2.3.* 測試站,不停地測試不同頁面之間的轉換,IE 7 也沒有給我翻白頁,佈景正常得很。

  第二天,在聊天室裡碰巧和 vietnam 都在線上,就即時討論起來。他給了我管理員帳號密碼在他的站進行測試,就在切換到有報錯問題的佈景後並在不同頁面之間轉呀轉的時候,IE 7 果真給我翻白頁,然後我在 safari 瀏覽器下帶著原始碼離開。

  在自己的電腦裡測試原始碼前,先清理一下 head 標籤下的 js 引用連結和其他註解,將<head>內不需要的標籤也一併清理、修改,以便進行測試。可就在這過程中,我郤忽略了最關鍵的地方。(註1)

  經測試後抓到了導致 IE 7 報錯的程式碼,接著在 vietname 的主站裡將報錯的程式碼註解後,確是不再有報錯發生,但還是有白頁問題出現,那就是說報錯和白頁是沒有關係。

  我再留下原始碼於自己電腦上測試,可是一打開就出現奇怪現象,畫面一片空白。在 vietnam 站上的空白畫面是要先轉換頁面後才出現,而我在電腦裡的情況則是一開始就什麼都看不到。更離奇的是,將<body>裡的內容清空,換上簡短的文字,也清空<head>裡所有 js 和 CSS 的引用連結和其他不需要的<meta> 和 <link>,只留下開首幾行的標籤,居然也是一個字都看不到,這麼怪異的現象直教人摸不著頭腦。(註2)

  後來為了測試模組是否和白頁有關,就轉移陣地到 vietname 的測試站上準備進行反安裝模組,可是還沒反安裝,測試站上的佈景居然正常了,其他也有白頁問題的佈景也同樣的變正常。

  第三天,vietnam 將測試站還原至與主站相同的環境,並經他測試後竟然沒有出現白頁問題,只有我再次遇到白頁。

  想起前一天在電腦下的怪異現象,我將 vietnam 的另一款預設的正常佈景原始碼複製到自己的電腦裡測試,一打開這佈景就能顯示正常,再另外打開有問題的佈景時,依然是一片空白,IE 6 和 IE 8 也是同樣的問題。可就在這兩個佈景的瀏覽器標題欄上,我發現了不同的地方,空白頁瀏覽器標題欄顯示出來的標題是檔案路徑!立時讓我第一時間想到的可能性 ── 這佈景帶 charset 屬性的 meta 標籤和 title 標籤在排序上有誤,而這標籤排序亦是大部份包括我在內在進行除錯測試時最容易忽略的地方。(見上面註1和註2)

  網頁讀入語法時,是由上而下的讀入,而且帶 charset 的 meta 標籤必須要比 title 標籤先行讀入,但這白頁問題佈景在這兩標籤的排序上郤犯了錯誤,IE 讀入這問題佈景語法時,卡在 title 標籤上,不能正常讀入,必須將這兩標籤互換位置,讓 IE 先行讀出帶 charset 的<meta>,然後才能正常解讀<title>內容。

  vietnam 依我所言在主站上將有問題佈景裡的兩個排序錯誤標籤互換了位置,空白頁終能正常跑出畫面來,我這次的測試任務至此便完成了。

  最後,我不敢相信犯同樣排序錯誤的大量佈景竟然是出自幾個所謂的專業佈景網站,這還不止,我驚訝的是在XOOPS官方總站裡查看發佈免費佈景的消息帖時,發現兩個標籤排序錯誤的demo網站為數不少。我不知道有使用這些免費佈景的網站究竟有多少,付費的佈景是否也有同樣的空白頁問題我不得而知。在這裡我只能寫此篇文章,讓那些同樣有使用該免費佈景的站長們在遇到空白頁問題的時候,自行參照如下所示,在theme.html裡將兩個標籤的位置互換一下就好。