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.

0 0 votes
Article Rating
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
buy online home appliances

thanks for information sharing with me.

buy online home appliances

thanks for information sharing with me.

Kurs Gita

Zaawansowany frontend

Szkolenie z Testów

Szkolenie z baz danych

Książka

Zobacz również