我之前已發佈並回答了問題。 WebResource.axd not working with Internet Explorer 11
但我認爲修補程序修復了問題(CrossPostback,AJAX控件和ASP.NET生成的回發不起作用),但是在QA中安裝後,它無法正常工作,我們意識到它是使.NET工作的.NET 4.5。
我正在比較.NET 4和.NET 4.5之間的.NET框架文件夾。我需要問什麼可以在.NET 4.5中真正解決IE 11問題。
IE 11的主要變化是用戶代理字符串。 .NET 4.5中的哪些特定修補程序可以解決ASP.NET 4.0和IE 11之間的差異。
手動合併這些差異可能並不真正有幫助,因爲將來如果.NET 4.0中安裝了安全/修補程序,這些文件可能會得到覆蓋。
另一個headup,問題是在Windows 7,8,8.1, IE 11的任何幫助或建議。
UPDATE:我們嘗試僅登記的.NET 4.5的瀏覽器定義爲.NET 4.0,但仍是問題,從定義仍然如此除了有一些圖書館,使事情在IE 11CrossPostback,AJAX控件和ASP.NET生成的回發適用於.NET 4.5,而不適用於IE 11中的.NET 4.0
回答
工作我們有一個類似的問題,DropDownList的自動回發停止與較新版本的IE一起工作。我們首先注意到了IE10,並將其跟蹤到許多人都知道的瀏覽器定義錯誤,其中詳細描述了here以及其他地方。
對於這個特定的應用程序和其不同環境運行/運行的一組盒子,升級到4.5不是一個近期選項。更重要的是,當我們試圖安裝它時,在上面的帖子中詳細說明了機器範圍的修復。然而,整個網站的解決方案確實有效。
一兩個星期後,有人碰巧用IE11預覽版擊中了網站,問題又出現了。我們做了一些更多的研究,發現整個網站的修補程序中的瀏覽器定義「IE10Plus」 - 實際上修復了IE10問題 - 對IE11無效。爲了識別IE10,添加了一個主版本的正則表達式匹配 - 「\ d {2,}」 - 匹配兩個數字(與沿着「^ 9 $」的行匹配的前一個匹配 - 完全匹配「9」)和IE10現在工作。問題在於IE10Plus定義(以及它之前的每個IE定義)最終來自「IE」定義,並且該定義還要求UA字符串中包含「MSIE」(除其他外),並且從IE11開始,「 MSIE「不再是UA字符串的一部分。
「IE10Plus」應該真的叫做「IE10」。
鑑於我們不能在短期內升級到4.5,我們必須找到另一種解決方案。我們碰到的那個是創建我們自己的IE11瀏覽器定義。我們無法定義超出我們在IE10中看到的任何功能,但這非常接近,至少它可以識別瀏覽器(而不會像功能一樣降級功能)。
人們會告訴你不要這樣做,但對於一些人(比如我們)來說,它確實提供了一個臨時修復,直到最終的解決方案出現。
我不知道4.5應該用什麼方式解決這個問題。我查看了瀏覽器定義文件,我沒有看到讓他們識別IE11的方式(在其UA字符串中沒有「MSIE」),但也許有一些額外的修復被埋在DLL的某處。
無論如何,這裏是我們創建的定義,對我們來說,它立即解決了問題。
在您的項目中,添加到(或創建爲)App_Browsers/ie。瀏覽器,下面的:
<!-- Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko -->
<browser id="IE11Preview" parentID="Mozilla">
<identification>
<userAgent match="Trident/(?'layoutVersion'\d+).*rv:(?'revision'(?'major'\d+)(\.(?'minor'\d+)?))" />
<userAgent nonMatch="MSIE" />
</identification>
<capabilities>
<capability name="browser" value="IE" />
<capability name="layoutEngine" value="Trident" />
<capability name="layoutEngineVersion" value="${layoutVersion}" />
<capability name="isColor" value="true" />
<capability name="screenBitDepth" value="8" />
<capability name="ecmascriptversion" value="3.0" />
<capability name="jscriptversion" value="6.0" />
<capability name="javascript" value="true" />
<capability name="javascriptversion" value="1.5" />
<capability name="w3cdomversion" value="1.0" />
<capability name="ExchangeOmaSupported" value="true" />
<capability name="activexcontrols" value="true" />
<capability name="backgroundsounds" value="true" />
<capability name="cookies" value="true" />
<capability name="frames" value="true" />
<capability name="javaapplets" value="true" />
<capability name="supportsCallback" value="true" />
<capability name="supportsFileUpload" value="true" />
<capability name="supportsMultilineTextBoxDisplay" value="true" />
<capability name="supportsMaintainScrollPositionOnPostback" value="true" />
<capability name="supportsVCard" value="true" />
<capability name="supportsXmlHttp" value="true" />
<capability name="tables" value="true" />
<capability name="supportsAccessKeyAttribute" value="true" />
<capability name="tagwriter" value="System.Web.UI.HtmlTextWriter" />
<capability name="vbscript" value="true" />
<capability name="revmajor" value="${major}" />
<capability name="revminor" value="${minor}" />
</capabilities>
</browser>
如果要添加到現有的文件中,查找ID =「IE10Plus」 - 你可能想改變這種狀況,以ID =「IE10」爲「正」的部分是沒有更準確。
正如我所說,如果你可以去4.5,它解決了你的問題 - 太棒了。如果你不能,或者它不能,這可能會阻止你,直到你可以(或者直到其他修正出現)。
感謝邁克爾,還沒有嘗試過,一定會做,讓你知道。 –
FWIW,我剛剛提出了另一個運行4.5的服務器,它與IE11完美兼容。瀏覽器的定義是有道理的,而且 - 「股票」 - 我認爲比這更好。 – Michael
我正在Windows Server 2003上運行一個站點,並且無法升級到.NET 4.5而不移動到新的服務器。當IE10發佈時,我通過安裝Scott Hanselman的NuGet包,將ie.browser和firefox.browser添加到App_Browser文件夾來解決問題。我試圖將IE11Preview定義添加到ie.browser文件並重新啓動該網站,但它仍然無法使用IE 11 Preview(Windows 8.1)。有任何想法嗎? – Adhooo
嗨試試下面的腳本它可能會幫助你。
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance()._origOnFormActiveElement = Sys.WebForms.PageRequestManager.getInstance()._onFormElementActive;
Sys.WebForms.PageRequestManager.getInstance()._onFormElementActive = function (element, offsetX, offsetY) {
if (element.tagName.toUpperCase() === 'INPUT' && element.type === 'image') {
offsetX = Math.floor(offsetX);
offsetY = Math.floor(offsetY);
}
this._origOnFormActiveElement(element, offsetX, offsetY);
};
</script>
- 1. .NET 4.0中的SpellCheck.IsEnabled =「True」(不適用於德語.NET 4.0框架)
- 2. 僅適用於.NET 4.5的粘貼?
- 3. C#7.0是否適用於.NET 4.5?
- 4. 風格不適用於Win7 x32(.Net 4.0)
- 5. html2canvas不適用於FireFox和IE 11適用於Google Material Charts
- 6. jQuery hasClass()不適用於IE 11,但適用於Chrome和Firefox
- 7. MSBUILDEMITSOLUTION不適用於.NET 4?
- 8. Jquery/Ajax不適用於Chrome和FireFox,但不適用於IE
- 9. JQuery $ .ajax請求適用於IE,但不適用於FF和Chrome
- 10. .Net 4.0和.Net 4.5
- 11. .NET 4.5.2不適用於VS2013
- 12. 使用.Net 4.0和.Net 4.5的任務?
- 13. 適用於.NET開發的Windows 7
- 14. 加載.NET用戶控件在IE中使用.NET 4.5
- 15. 「適用於Windows 8,WPF,Silverlight的現代UI(Metro)圖表」適用於.net 4.0
- 16. 使用.net 4.0與.net 4.5
- 17. jQuery AJAX適用於IE,但不適用於Firefox
- 18. PagedList不適用於IE,但適用於Chrome和Firefox
- 19. Kerberos授權不適用於Chrome和FireFox,但適用於IE
- 20. AJAX適用於IE瀏覽器,但不適用於Firefox或Chrome
- 21. Javascript問題適用於IE而不適用於Firefox
- 22. 爲什麼JavaScript不適用於Firefox/Chrome,而是適用於IE?
- 23. ReCaptcha適用於開發和QA,但不適用於生產
- 24. Net :: HTTP.start適用於127.0.0.1,但不適用於'localhost'。爲什麼?
- 25. ViewState不適用於回發ASP.NET C#
- 26. XMLHttpRequest不適用於IE 11的文件下載
- 27. 哪個CI適用於.Net
- 28. Solr是否適用於.Net?
- 29. Kerberos適用於IE和Chrome,但不適用於FF和Safari
- 30. .NET CLI僅適用於.NET Core嗎?
這不是關於「庫」,而是關於UA字符串及其解釋。你安裝了這個嗎? http://support.microsoft.com/kb/2836947 – EricLaw
我已經安裝了所有修補程序 「遇到腳本錯誤」,「'__doPostBack'未定義爲.NET 4.0 –
我試圖訪問IE 11中的網頁+ Windows 8.1。我得到空白page.seems Java腳本不支持,由於這個問題。任何建議 –