2011-04-06 29 views
3

我在IE中遇到了有線問題。當我瀏覽本地部署的我的asp.net mvc應用程序時,一切都按預期工作。當我在部署在不同主機上時瀏覽我的系統時,出現了一些惱人的差異。IE - 在本地和遠程部署的系統之間的行爲差​​異

在這兩種情況下,我使用的是本地安裝在主計算機上的IE的相同實例。在CSS文件

想我已經定義的類:

.field-required:before 
{ 
    color: red; 
    content: "*"; 
    font-weight: bold; 
} 

我也有簡單的標籤,它使用這個類:

<label class="field-required" for="UserName"> Username </label> 

當系統部署在本地,這樣的代碼將呈現這樣:

http://localhost/system/page

enter image description here

相同的代碼部署遠程服務器(命名爲主機2),來自我的主計算機上本地安裝的我的IE瀏覽器的第二個選項卡訪問上,呈現如下:

http://host2/system/page

enter image description here

爲什麼紅星在第二種情況下沒有顯示?雖然我使用Firefox,但一切都按預期工作。在IE中訪問遠程頁面時是否打開了任何安全策略或某些內容,從而禁用某些功能?昨天,我在瀏覽遠程部署的系統時遇到了無法識別的JSON問題。當本地部署相同的系統時,一切都有效。但是,我仍然使用IE的相同實例。由於這是相同的瀏覽器,發生了什麼?

UPDATE

這是整個源

<!DOCTYPE html> 
<html> 
<head>  
    <style> 
     .field-required:before 
     { 
      color: red; 
      content: "*"; 
      font-weight: bold; 
     } 
    </style> 
</head> 

<body> 
    <div><label class="field-required" for="UserName">Username</label></div> 
    <div><input id="UserName" name="UserName" type="text" value="" /></div> 
</body> 
</html> 

緩存是沒有問題的

+0

你會發布你想要呈現的完整XHTML/HTML樣本嗎?謝謝! – 2011-04-06 13:26:35

+0

另外,請從主機重新檢查您的IE緩存中的文件。 – Horus 2011-04-06 13:38:34

+0

這裏沒有C#相關內容......因爲這可能是您用來構建您的Web應用程序的東西,因此您需要重新綁定ASP.NET。 – BoltClock 2011-04-06 13:55:18

回答

2

content property在IE8中工作,但在IE7中不起作用。

因此,我確定您的頁面在本地呈現爲IE8模式,但在您的其他服務器上,它正在以IE7兼容模式呈現。

您可以從兩個位置打開頁面,按F12,然後查看「文檔模式」設置以驗證此情況。

這可能會發生各種原因。

參見:http://hsivonen.iki.fi/doctype/#ie8modes

最可能的原因是,您在IE中按下「IE7兼容模式」按鈕。

你可進行「速戰速決」的問題,加入此meta標籤:

<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 

如果沒有,往下看的鏈接列表,看看哪些原因是原因。

+0

其實我正在使用IE9測試版。你有權利。在本地,它以IE9模式呈現,但在IE7兼容模式下呈現遠程。該標籤有所幫助。 BTW。這個標籤是一個很好的解決方案,還是有「更正確」的方式?謝謝。 – jwaliszko 2011-04-06 14:19:30

+0

「正確的」方法是遵循該列表,並且明確地指出它爲什麼遠程呈現在IE7模式中。我可以通過鏈接到您的網站來做到這一點(如果它是一個非本地的[對您的計算機]原因)。但是,meta標籤在任何情況下都可以正常工作。在一個不相關的說明中,IE9沒有測試版;你應該更新:http://windows.microsoft.com/en-GB/internet-explorer/products/ie/home – thirtydot 2011-04-06 14:29:10

1

假設一切都被部署,並認爲這是IE 8,然後我的猜測是它可能是兼容模式。我們的網站通常因爲同樣的問題而「失敗」,因此無論我多少次告訴QA團隊檢查共享模式!

默認情況下,IE8以兼容模式顯示Intranet站點,這意味着您可以在將其部署到非Intranet位置時獲得差異。同樣,它可能是手動覆蓋(即'我的機器',但不是這個,或者確實'不是我的機器',但其他所有的)在兼容性模式導致的問題。

本地和遠程檢查compat模式,並確保它們是相同的。如果沒有,請在遠程機器上查看時將其設置爲相同。

然後看看配置IE不默認使用compat模式,如果這就是它一直在做的事情。

如果不是 - 那麼它可能是緩存或未被部署的東西。

我會確保一切都在部署,清空IE的緩存並再次嘗試。

+0

感謝您的反應。兼容模式是問題的根源。 – jwaliszko 2011-04-06 14:20:27

相關問題