PDA

Просмотр полной версии : Снова о багах Оперы


Niketas
09.02.2006, 00:09
И снова о багах оперы.

Начну издалека.
Прочитал в умной книжке, что прозрачность флэшки на html-странице, задающаяся параметром wmode (только для тега <object>), включается (т.е. работает) "...только под Windows с управлением Flash Active X", а конкретно с Internet Explorer'ом 4.0 (ну и, видимо, выше).

Сам я юзаю Opera 7.54u2, поэтому новость, что прозрачность пашет лишь под эксплорером, меня не обрадовала. Действительно, в опере флэшка выглядит обыкновенно (т.е. background так и остается белым), а в эксплорере бэк исчезает.

Начитавшись умных (хоть и старых) статей Жаркова про html, я решил, что забивать на львиную долю юзеров оперы (и всех остальных браузеров, не поддерживающих прозрачность) не стоит, и пришлось написать такой код:

<SCRIPT LANGUAGE="JavaScript">
<!--//

browser_name = navigator.appName;
browser_version = parseFloat(navigator.appVersion);

if (browser_name == "Microsoft Internet Explorer" && browser_version >= 4.0) { window.location.href = "explorer_top.html"; }
else { window.location.href = "top.html"; }

alert(browser_name);
alert(browser_version);
//-->

где explorer_top.html - страница с флэшкой, а
top.html - страница с какой-нибудь альтернативной навигацией.

Поясню, зачем два последних алерта. Открыв эту страницу в Opere (тогда алерты еще не были написаны), я почему-то перешел на страницу explorer_top.html, а не на top.html, как было задумано. В эксплорере страница открывается с работающей флэшкой, как и предполагалось.
Поэтому алерты вставил, чтоб выяснить, что за хрень.

Выяснил: алерты и в опере, и в эксплорере выдают одно и тоже: браузер - "Microsoft Internet Explorer", версия - "4".

Так вот, господа: ЧТО ДЕЛАТЬ? (если драйвера прямых рук последней версии нет)

Crazy
09.02.2006, 01:15
Медитируй над этим:


<script>
for (i in navigator) {
document.write('<br>navigator.' + i + '=' + navigator[i]);
}
</script>

TTS
09.02.2006, 03:07
над этим проще:
alert(typeof(opera));

еще можно помедитировать над настройками оперы

KidsKilla
09.02.2006, 13:28
1) медитируй над умными книшками.
8я+ опера, любой ффокс, любой осёл 4+ держат прозрачность. а патаматр вмоуд ставь и в эмбеде тоже.

2) для определения брвзера есть такой код:
alert(navigator.userAgent.toLowerCase().indexOf("opera"));

Coffee
11.02.2006, 19:59
Все до истерики проще:

<object>
<param name="movie" value="swf/mega.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<embed src="swf/mega.swf" wmode="transparent" quality="high" />
</object>

для броВзеров, которые не ИЕ существует <embed>.

KidsKilla
14.02.2006, 03:15
Все до истерики проще:

<object>
<param name="movie" value="swf/mega.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<embed src="swf/mega.swf" wmode="transparent" quality="high" />
</object>

для броВзеров, которые не ИЕ существует <embed>.

1) "для броВзеров, которые не ИЕ" ембед можно пропускать. работает везде и всегда. (NN4 в расчет не берём)

2) для ИЕ ембед тоже существует разве что не в этом случае. Используется к примеру для вставки видео-аудио.

Madasan
18.02.2006, 08:08
1) "для броВзеров, которые не ИЕ" ембед можно пропускать. работает везде и всегда. (NN4 в расчет не берём)


ембед пропустил, не работает :( или я не правильно понял?