2014-01-08 87 views
0

我已經交給了一個(舊)ASP.NET網站,我以前只在IE5-IE9上工作過。我設法修復它,以便它可以在IE11中工作。 (需要服務器端.NET修補程序)。ASP.NET如何生成HTML?

現在我也試圖讓網站在Firefox和Chrome中正常工作,但不幸的是,截斷的JavaScript並沒有像預期的那樣工作,並且完全破壞了一些關鍵功能,但是稍後我會解決這個問題。

現在我試圖讓樣式表正常工作,跨瀏覽器。我想盡可能少地使用代碼,而不是破壞其他任何東西。從我能看到的是,傳遞到瀏覽器的頁面在每個瀏覽器中都不相同。看這些截圖。

火狐 Firefox

Google Chrome

IE11 IE11

正如你可以看到交付的代碼是每個瀏覽器不同。我不確定這是瀏覽器本身還是ASP.NET。有沒有辦法強制執行特定的方法?這是ASP.NET端的代碼。 (請注意這是一個古老的網站。)

<div id="menuDiv" runat="server"> 
     <asp:Menu ID="menu" runat="server" StaticMenuItemStyle-CssClass="menu" Visible="False"> 
     <StaticMenuItemStyle CssClass="menu"></StaticMenuItemStyle> 
     </asp:Menu> 
    </div> 

這是試圖得到它在Firefox和IE11正確顯示後的相關CSS。

.menu a 
{ 
padding-left: 40px; 
vertical-align: middle; 
width: 100px; 
color: #0462a5; 
font-weight: bold; 
font-size: 14px; 
text-decoration: none; 
padding-top: 7px; 
display: block; 
text-align: left; 
height: 20px; 
color: #0462A5; 
background-image: url(Images/web/menu.gif); 
} 
.menu a:hover 
{ 
color: #000; 
background-image: url(Images/web/menu_over.gif); 
} 

那麼,我又如何讓這些頁面爲ASP.NET中的每個瀏覽器返回相同的代碼(或相同樣式)呢?

+0

我相信只有更新你的CSS才能做到這一點。您不需要更改服務器端代碼。我對你的建議是製作一個css文件並將所有內聯樣式移動到它。這樣你就可以將所有的css放在一個你可以玩和更新的地方。 – Ratna

+0

@Ratna這就是我正在做的。但我仍然發現鉻隨機添加
是一件令人厭惡的事情。 – Perfection

+1

嘗試添加 skiplink是菜單中的鍵 – Ratna

回答

1

我能想到的唯一的事情就是也許你的應用程序是使用瀏覽器定義文件:

http://msdn.microsoft.com/en-us/library/ms228122%28v=vs.85%29.aspx

這些文件將定義發送到瀏覽器的標記。我從來沒有太在意這個想法,他們曾經發送基於表格的佈局,而不是基於div的版本到Firefox的最早版本,因爲微軟認爲它是一個「低級」瀏覽器,與IE相比插入滾動眼睛表情

看看這些瀏覽器文件,看看是否有任何Chrome瀏覽器標記。

+0

沒有自定義瀏覽器定義文件。但我會看到我能用這個做什麼。 – Perfection

+0

我接受這個答案。我通過使用「Page.ClientTarget =」uplevel「;」固定了我的問題的很大一部分,爲鉻。 – Perfection