__doPostBack is undefined

Éljenek a modern böngészők! Tényleg, én szeretem, hogy van változás, jönnek az újak, amelyek biztonságosak és a webes szabványokat is egyre jobban támogatják. Jobb a fejlesztőknek és jobb a felhasználóknak is. Néha azonban beüt a mennykő és egy-egy újabb böngésző alatt elhasal a korábban szépen működő webhelyünk. Például Internet Explorer 10 alatt egy ASP.NET-es alkalmazástól könnyen kaphatjuk ezt a hibaüzenetet:

‘__doPostBack’ is undefined

Az aláhúzás-aláhúzás kezdetű dolgokról tudjuk, hogy az ASP.NET belső működéséhez tartoznak, így ez már messziről komolynak tűnik. Pedig mindössze arról van szó, hogy az ASP.NET down-level böngészőként értelmezi a legújabb IE verziót, ami szerinte nem kezeli a JavaScriptet. Firefox 5+ alatt hasonló a helyzet, ugyanebből az okból kifolyólag ott a görgetősáv visszaállítással kapcsolatos MaintainScrollbackPositionOnPostBack tulajdonság hal meg. Mindkét hiba annak köszönhető, hogy egy hiba csúszott a .NET 2.0 és 4.0-hoz tartozó böngésző definíciós fájlokba.

A browser caps egy karbantartási rémálom. Az alapötlet jó (vagy talán egyszerűen nincs jobb), de rengeteg munka követni a változásokat. Bár Microsoft ad ki időnként frissített browsercaps fájlt, sajnos más források gyakrabban frissülnek, különösen a mobil eszközök és böngészők területén. Szerencsére a mechanizmus rugalmassága lehetővé tette, hogy a Microsoft most gyorsan javítsa ezt a hibát, amit mi NuGet csomag formájában tudunk alkalmazni a saját webalkalmazásunkban:

Jobb klikk a Solution Explorerben a projekten, majd Manage NuGet Packages…

Manage NuGet Packages

Az Online kategóriában keressünk arra, hogy app_browser:

Manage Packages - App_Browser

Két csomag fog megjelenni:

Telepítsük a kiválasztott csomagot, ami mindössze két .browser fájlt fog eredményezni az App_Browsers mappában:

App_BrowsersUpdate csomag telepítve

Ezzel természetesen csak egy alkalmazást javítottunk meg. Ha a szerveren lévő összes alkalmazásra szeretnénk alkalmazni a javítást, akkor az alábbi tudásbázis cikkek segíthetnek:

  • KB2600088 – .NET 4
  • KB2600100 – .NET 2.0 Windows 7 SP1, Windows Server 2008 R2 SP1, Windows Vista/Server 2008, Windows XP/Server 2003
  • KB2608565 – .NET 2.0 Windows 7 és Windows Server 2008 R2 RTM

A javítások be fognak kerülni a .NET Framework következő nagyobb javítócsomagjába, ami a következő év elejére várható.

 

Technorati-címkék: ,,,,

2 thoughts on “__doPostBack is undefined

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s