PDA

Просмотр полной версии : Opera и завершающий слэш


drwhite
11.06.2007, 21:40
Добрый вечер.

Поиск не обнаружил.

Наблюдение следующее:

Запускаем Opera (9.10), переходим, допустим на http://wwww.su/wwww/de/was_became/test.php, там две swf.

А теперь после test.php ставим слэш.
Только не надо этого делать потому что начинается что-то непонятное, причем не важно swf или картинка (можно отключить swf и попробовать).
Результат можно посмотреть (http://wwww.su/wwww/_svalka/opera_slash_bug.gif).
В других браузерах такого не наблюдалось.

DarkLight
11.06.2007, 22:52
Opera 9.21 - то же самое.

Ekzi
11.06.2007, 23:02
IE 6.0 7.0 без глюков

etc
12.06.2007, 00:35
Это не баг Оперы, это баг в JS-скрипте.

drwhite
12.06.2007, 02:27
Это не баг Оперы, это баг в JS-скрипте.
А так?
http://wwww.su/wwww/de/was_became/test2.php/

Причем заметим, что при выключенном flash-плагине путь до альтернативной картинки — абсолютный ("/no_flash.jpg"), хоть и мод_реврайтный.

etc
12.06.2007, 02:53
Для начала нужно использовать корректный код для размещения флеша, а уж потом катить бочки на браузер. Опера по параметру movie видит такую вот вещь:
http://wwww.su/wwww/de/was_became/test2.php/photo/msu1wb.swf
Т.к. она понятия не имеет, какого типа ей пихают object в коде, она пытается определить его по Content-Type (который кто-то забыл указать в коде), загрузив контент. Получив там text/html, она решила, что это iframe, со всеми вытекающими последствиями.

drwhite
12.06.2007, 03:19
Т.к. она понятия не имеет, какого типа ей пихают object
Я так понял, что тип это вот:

<object type="application/x-shockwave-flash" ... </object>


А насчет Content-Type (который кто-то забыл указать в коде), тут не совсем понятно в каком именно коде?

Вообще весь swf-ный html код с http://xhtml.ru/2005/06/11/flash_valid/, типа по стандартам:



<object type="application/x-shockwave-flash" data="/images/validflash/1.swf"
width="300" height="300">
<param name="movie" value="/images/validflash/1.swf" />
<img src="/images/validflash/1.gif" width="300" height="300" alt="1.gif" />
</object>



И еще раз подчеркну, что косяк даже при абсолютном путе ("/no_flash.jpg") когда флэш-плагин отключен.

etc
12.06.2007, 03:37
Используй тогда абсолютные пути.

drwhite
12.06.2007, 03:59
Ну это — да, лень просто было писать преобразователь относительных в абсолютные, и не думалось, что опера так активно отреагирует =).