fbpx
devstyle.pl - Blog dla każdego programisty
devstyle.pl - Blog dla każdego programisty
2 minut

MS Ajax w Chrome (1) – metoda kopiuj/wklej


12.02.2009

W trzech odcinkach zaprezentuję trzy sposoby na zmuszenie MS Ajax (UpdatePanel) do bezproblemowego działania w Google Chrome i Safari 3.0.


Przedstawienie problemu

Zarówno Google Chrome, jak i Safari 3.0 przedstawiają się jako “WebKit”. Microsoftowy framework do Ajaxa nie jest na to do końca przygotowany. Zdarzają się sytuacje, w których przeglądarki te “zawieszają się” bądź w inny sposób działają nie tak jak byśmy chcieli. Zidentyfikować taki przypadek można w bardzo prosty sposób:

  • w innych przeglądarkach wszystko działa jak należy
  • usunięcie UpdatePanela eliminuje problemy

Nie udało mi się przygotować odizolowanego scenariusza obrazującego omawianą kwestię – nie wiem co powoduje takie zachowanie, a najprostsze stronki działają jak trzeba. Umieszczenie całego kontekstu z kolei mija się z celem. Przyjmijmy zatem, że “czasami tak po prostu jest”:). Po szczegóły zapraszam do posta ASP.NET AJAX Compatibility Patch for Safari 3.x and Google Chrome. Nie będę kopiował tu samego rozwiązania, więc jego przeczytanie jest w zasadzie konieczne do zrozumienia problemu. Skupię się natomiast na możliwych sposobach implementacji tego fixa (biorąc pod uwagę fakt, że możemy mieć wiele ScriptManagerów w naszym projekcie).

Odcinek pierwszy. Metoda kopiuj/wklej.

Metoda prosta jak budowa cepa. Wielokrotnie nadużywana do wszelkiego typu zadań. Prymitywna i godna potępienia. Rozwiązanie:

  1. szukamy w całym projekcie tekstu <asp:ScriptManager
  2. modyfikujemy tag, wstawiając do środka wymagany tekst:<Scripts>
    <asp:ScriptReference Path=”~/Scripts/webkit.js” />
    <Scripts>

I jesteśmy w domu. Następnym razem spojrzymy na bardziej wyrafinowane podejście do problemu: wykorzystamy moduł HTTP do modyfikacji ScriptManagerów w jednym centralnym miejscu.

Nie przegap kolejnych postów!

Dołącz do ponad 9000 programistów w devstyle newsletter!

Tym samym wyrażasz zgodę na otrzymanie informacji marketingowych z devstyle.pl (doh...). Powered by ConvertKit
Notify of
buy online home appliances

thanks for information sharing with me.

buy online home appliances

thanks for information sharing with me.

Moja książka

Facebook

Zobacz również