2009-08-20 72 views
0

我正在構建一個在線文章網站。我有一個名爲view_article.php的php腳本,用於顯示文章。頁面知道要顯示的文章的方式是在URL中使用$ _GET變量。如何讓IE8不顯示我的PHP頁面爲空

例如:

 
/view_article.php?article_id=1 views article 1 
/view_article.php?article_id=2 views article 2 

這裏的漁獲物。在IE8中,當我查看文章1時,頁面顯示正常,但是當我查看文章2時,IE將該頁面顯示爲空白。它正在運行相同的腳本,因此它如何/爲什麼將頁面顯示爲空白?

在我試過的4臺電腦中,它可以在4臺電腦中的2臺電腦上以100%的時間進行復制,並且在其他2臺電腦上不會發生。 Firefox和Chrome在顯示頁面時沒有問題。

我都錯誤郵件開啓,但沒有顯示

上爲什麼發生這種情況的任何想法,我該如何解決?不僅這些文章頁面不工作,而且網站上的其他頁面也不能正常工作(可能約有50個不同的php腳本頁面的10%在IE8中不能正常工作,頁面是我的註冊頁面)。我能做什麼?我擔心有10%的用戶無法訪問我的網站。該網站的大多數用戶將使用IE。感謝您的任何建議

編輯

查看源 一些有用的人建議查看源。在顯示空白的計算機上查看顯示頁面的計算機與顯示頁面的計算機的來源幾乎完全相同,只是顯示空白的計算機在最後一個標記之後顯示了一些亂碼字符。我沒有做任何與土耳其有關的事情,而且給我帶來問題的電腦在臺灣,瀏覽器都是用普通話(中文)。

 
` ` ? ?¢F @ ? ? ? ??¨t?0 ?? ?�Ã? ? ? $ ? ???Psprog Psprog Regular Turkish uropean ðK? ¡I?$ W ? ` ` ? ?¢F @$? ? ? �ü ģ ?? ?�Ã? ? ? ? ???·s�ө��é ·s�ө��é Regular Turkish uropean ðK? ¡I? ? ` ` ¢D�¼ ?¢F @ ? ? ? ? �Ã? ? ? ? 

HTTP頭 有人建議檢查頭。我真的不知道我在找什麼,因此我使用了web-sniffer。這裏是輸出:

 
HTTP REQUEST HEADERS 
Connect to 66.147.230.147 on port 80 ... ok 

GET /articles/trends HTTP/1.1[CRLF] 
Host: www.example.com[CRLF] 
Connection: close[CRLF] 
User-Agent: Web-sniffer/1.0.29 (+http://web-sniffer.net/)[CRLF] 
Accept-Encoding: gzip[CRLF] 
Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7[CRLF] 
Cache-Control: no[CRLF] 
Accept-Language: de,en;q=0.7,en-us;q=0.3[CRLF] 
Referer: http://web-sniffer.net/[CRLF] 
[CRLF] 


HTTP RESPONSE HEADERS 
HTTP Status Code: HTTP/1.1 200 OK 
Date: Thu, 20 Aug 2009 07:06:40 GMT 
Server: Apache/2.2.13 (Unix) mod_ssl/2.2.13 OpenSSL/0.9.8k DAV/2 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635  
X-Powered-By: PHP/5.2.9 
Expires: Thu, 19 Nov 1981 08:52:00 GMT 
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma: no-cache  
Set-Cookie: PHPSESSID=1e8520adc7a127590d4f59cb37ca0c98; path=/ 
Connection: close 
Transfer-Encoding: chunked 
Content-Type: text/html 
+0

您是否查看了源代碼?有什麼東西被髮送到瀏覽器?你檢查過HTTP頭文件嗎? – alex 2009-08-20 06:55:10

+0

是否可以在這兩臺機器上爲您的頁面啓用Compatiblity模式? – 2009-08-20 06:56:36

+0

你能幫我一個忙嗎? 1.右鍵單擊「空白」頁面並獲取屬性。你在那裏看到的地址是什麼。 2.查看源代碼 - 它是真的空文檔還是它有任何內容,但沒有正確顯示/呈現 – DmitryK 2009-08-20 07:27:55

回答

0

謝謝大家的幫助。畢竟我最終解決了這個問題。以下是希望知道答案或者有類似問題的人:

我正在開發的網站位於臺灣(我是北美開發商)。這個空白的IE頁面只發生在臺灣使用IE的電腦上。我發現要複製這個測試環境,我必須將我的Windows區域設置切換到中文(臺灣)。允許我在加拿大的本地機器上重現該錯誤。

接下來,我發現IE沒有顯示頁面的原因是因爲默認的IE編碼是繁體中文(Big5)。編碼需要切換到UTF-8才能顯示頁面。

因此,我使用:AddDefaultCharset UTF-8(只在html中的元標記中指定字符集不工作,因爲它已被設置爲utf-8)強制對我的.htaccess文件進行編碼。

1

也許ie有一些像橫幅攔截器插件?

+0

感謝您的建議。我們在網站上沒有任何形式的廣告(沒有橫幅)。你知道任何其他類型的插件會導致這種行爲嗎? – justinl 2009-08-20 07:19:32

+0

我遇到了一個防病毒問題,導致它在URL中是「banner」,所以它是同一個balnk頁面。 – 2009-08-20 07:43:41

+0

它發生在不同的頁面,例如: example.com/register example.com/articles/interviews example.com/workshop 所以我想這不是一個「堵」的問題。 – justinl 2009-08-20 08:01:46

1

我從來沒有見過這個 - 這裏有一些調試技巧。給我的網址,我會試試它。

1)看看你找回HTML(查看源代碼,使用鋼絲嗅探器)

2)如果您收到回HTML,它可能是一些在頁面加載後做一個文件撰寫。覆蓋文件撰寫,看看誰在呼喚它:

<script> 
    var old = document.write; 
    document.write = function(){ 
    printStackTrace(); 
    old.call(document); 
    } 
<script> 

這裏是代碼打印堆棧跟蹤:http://eriwen.com/javascript/js-stack-trace/

+0

我沒有在整個頁面上使用任何Javascript。它可能仍然是一個document.write問題? – justinl 2009-08-20 07:29:17

+0

我試過了javascript stacktracer。當我在IE中加載頁面時什麼也沒有發生。它照常顯示空白。如果我在FireFox中加載頁面,彈出窗口顯示「匿名」。 – justinl 2009-08-20 08:36:05

1
  1. ,您在IE中看到奇怪的輸出 - 看起來很像一個字體我。你是否在該頁面上嵌入了任何字體?嘗試現在禁用/註釋,看看它是否有所作爲。

  2. 可我也建議您驗證HTML瀏覽:

http://validator.w3.org/#validate_by_input

見是否有阻止IE渲染任何明顯的錯誤。 Plus - 你用哪個版本的IE測試它?

3.Script標籤。如果你的輸出,並使用xhtml使用該語法:

<script ..../> 

嘗試將其更改爲:與內容類型

<script ...>your script</script> 

4.META標籤

刪除 和使用PHP來補充它在標題中:

header(「content-type:....」)

+0

我有一些最近與字體有關的空白頁問題。 – DGM 2009-08-22 16:08:38

0

而不是捕獲與瀏覽器不相符的流量快照,您應該檢查瀏覽器正在獲取的內容。爲此,請使用Fiddler(www.fiddler2.com)。

這也可以讓你捕獲一個日誌文件(SAZ/Session Archive Zip格式)並與其他人共享,這樣我們就可以看到你所看到的。

我的猜測是您的HTTP響應格式錯誤,並污染了後續請求的套接字。

相關問題