IE7 bug – URL tvaru //example.com/path/, content-type header

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
xificurk
Člen | 121
+
0
-

Sice to není bug Nette, ale je to dost nepříjemné…

IE7 má jakýsi podivný bug, kdy pokud načte stránku na adrese ve tvaru //example.com/path/, ve stránce se odešle hlavička header('Content-Type: text/html; charset=utf-8', TRUE); a následně se klikne na nějaký odkaz typu #kotva, celá stránka se znova načte.

Narazil jsem na to v aplikaci, kde jsem používal odkaz na kotvu zároveň s navázanou javasciptovou funkcí při kliknutí. Přičemž se provedl javascriptový kód a následně se stránka reloadovala. Po prozkoumání problému se zdá, že se tento bug objevuje skutečně jen při splnění všech výše uvedených podmínek a jen v IE7 (v IE6 ne).

Celou věc si můžete testnout na adrese http://php5.skauti-pardubice.cz/…heme-bug.php.

Řešením by asi bylo, kdyby Router vytvářel odkazy včetně používaného protokolu (http:).

Jakékoliv návrhy, jak se této nepříjemnosti zbavit jsou vítány :-)

EDIT: Přesunuta a upravena demonstrační stránka.

Editoval xificurk (5. 10. 2008 20:40)

David Grudl
Nette Core | 8082
+
0
-

Pěkně kurevský bug… Asi nezbyde nic jiného, než to schéma posílat.

garcon
Člen | 1
+
0
-

…což ovšem znamená kontrolovat, jestli není schéma „https“. Takže pozor na $_SERVER[‚HTTPS‘] u IIS.

xificurk
Člen | 121
+
0
-

btw, mohl by to někdo testnout v IE8b, aby se případně poslal bug report?

David Grudl
Nette Core | 8082
+
0
-

opraveno v poslední revizi

matt
Člen | 1
+
0
-

mohl by to někdo testnout v IE8b, aby se případně poslal bug report?

Ted jsem to testoval v ie8b a také dojde k reloadu.

xificurk
Člen | 121
+
0
-

matt napsal(a):

Ted jsem to testoval v ie8b a také dojde k reloadu.

Jo, už jsem to testoval taky. Sem už jsem to zpátky nepsal. Co mě ale nakrklo více je to, že jsem nenašel žádný rozumný způsob nahlášení bugu vývojářům. Fakt nechápu jaké banda de**lů může tento kus software vyvíjet.