9

Mam DotNetNuke site, a dziś klient zadzwonił i powiedział, że nie działał na IE 10. W szczególności łącza do logowania i rejestracji nie działały, ale robią to tryb zgodności. Spojrzałem na naszą maszynę testową Windows 8 i zobaczyłem, że nie działa, ponieważ __doPostBack nie zostało zdefiniowane. Szukałem poprawki przez ostatnie sześć godzin, a to, co udało mi się znaleźć, to to, że pozornie agent użytkownika IE10 jest objęty plikiem ie.browser i powinien zainstalować this hotfix i zrestartować serwer. To nie zadziałało. Nie zauważyłem żadnych zmian, mimo że myślę, że nowy plik ie.browser powinien pasować do nowego klienta użytkownika.__doPostBack jest niezdefiniowany na stronie DotNetNuke dla IE 10

Jakie inne kroki mogę podjąć, aby rozwiązać problem? Uwaga: na serwerze działa system .NET 3.5 z dodatkiem Service Pack 1 na serwerze Windows 2003. Witryna działa w systemie DotNetNuke 05.06.02. Wszelkie sugestie będą bardzo mile widziane.

+0

jeśli z jakiegoś powodu masz katalog 'App_Browsers' na projekcie, i tam' ie.browser', i nie zmieni również, ale tylko zastosuj łatę, która aktualizuje globalny 'ie.browser', twój projekt jest nadrzędny i nie pozwala poprawce naprawiać problemu. Problem tutaj rozwiązuje się ze zmianą definicji przeglądarki. – Aristos

+0

@Aristos nie było pliku ie.browser w folderze Moje aplikacje App_Browsers. – nick

+0

OK, to dla mnie pobierz ten plik 'http: // www.hanselman.com/blog/content/binary/App_BrowsersUpdate.zip' i porównaj, czy możesz ie.browser z twoim na całym świecie, aby sprawdzić, czy są takie same. – Aristos

Odpowiedz

9
+0

Próbowałem zarówno instalowania poprawki i dodawania pliku ie.browser do folderu App_Browsers, ponowne uruchamianie serwera po każdym. Ani rozwiązany problem. – nick

+0

Czy zastosowano poprawki hotfix dla wszystkich wersji .net? 2.0 i 4.0? Myślę, że dotnetnuke 5 i 6 domyślnie .Net 2.0 –

+0

Zainstalowałem poprawkę 2.0. Nie mam zainstalowanego .net 4.0 na serwerze. Ostatnio mam 3,5 sp1 – nick

4

Na moim miejscu produkcji Próbowałem kilka rzeczy i nie działa.

Po zainstalowaniu tej poprawki i ponownie uruchomiony - no dobra

I skopiowane zaktualizowany plik ie.browser - no dobra

Próbowałem modyfikowania default.browser Z ie.browser i Mozilla. pliki przeglądarek, aby włączyć javascript dla wszystkiego - nic dobrego.

Jedną rzeczą, jaką zrobiłem, że w końcu to działa (i to powinno działać na wszystko) jest funkcją InitializePage pliku Default.aspx.vb dodałem tę linię do początku podprogramu

Page.ClientTarget = "uplevel" 

które powinny (z tego co rozumiem) traktują WSZYSTKIE przeglądarki tak, jakby były w stanie obsłużyć javascript i pliki cookie oraz wszystkie inne potrzebne nam rzeczy. Czuję, że to całkiem bezpieczny zakład.

+1

Dzięki! To mi się udało. Mam klasy BasePage, która dziedziczy z System.Web.UI.Page, który z kolei jest super klasy dla klas strony w witrynie. Dodałem obsługę zdarzeń wstępnych do BasePage, a problem z 10 wystąpił. W ten sposób (C#): chronione void Page_PreLoad (obiekt nadawca, EventArgs e) {this.ClientTarget = "uplevel"; } – Ciniod

3

Jest inny config, że jeśli istnieją w web.config nadpisuje Scott Hanselman za proponowane poprawki:

<browserCaps> 

ASP.NET zdolność przeglądarka sniffer może być skonfigurowany na 3 sposoby (Zastępuje siebie):

  1. Machine wide in <windir>\Microsoft.NET\Framework\<ver>\CONFIG\Browsers
  2. Site only by using .browser files in App_Browsers folder
  3. Site only by using <browserCaps> Element in web.config

dla IE10 dodaj następującą sprawę pod <browserCaps> <case "Mozilla .. MSIE ..>:

<case match="\d{2,}" with="${version}"> 
    frames=true 
    tables=true 
    cookies=true 
    backgroundsounds=true 
    vbscript=true 
    javascript=true 
    javaapplets=true 
    activexcontrols=true 
    tagwriter=System.Web.UI.HtmlTextWriter 
    ecmascriptversion=3.0 
    msdomversion=${major}${minor} 
    w3cdomversion=1.0 
    css1=true 
    css2=true 
    xml=true 

    <filter with="${letters}" match="^b"> 
    beta=true 
    </filter> 
    <filter with="${extra}" match="Crawler"> 
    crawler=true 
    </filter> 
</case> 
+0

Anton, Holy crap, nie masz pojęcia, ile czasu zajęło mi sprawdzenie, czy w moim projekcie zostały one zdefiniowane w konfiguracji sieci ... Dziękuję bardzo! – teewuane

+0

Byłem tam również :) Cieszę się, że mogłem pomóc. –

Powiązane problemy