PDA

Просмотр полной версии : Opera и Flash ( кэш и focus() )


JinRu
15.07.2009, 18:32
1. Для тестирования флэшки часто приходиться перезагружать страничку. Проблема в том, что Opera упорно грузит swf из кэша. В самой странице на php прописано, что бы браузер не кэшировал ее. В FireFox и IE все работает как надо, но толкьо не в опере.
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");

2. Т.к. часто приходится перезагружать страницу, то я написал на JavaScript функцию, которя при загрузке swf передаст фокус клавиатуры прямо к ролику, что бы не приходилось кликать мышкой. Проблема все та же - в FireFox и IE все работает, в Opera ошибок не выдает, но и работать не думает.

// Найти swf
function getFlashMovieObject(movieName) {
if (window.document[movieName])
return window.document[movieName];

if (navigator.appName.indexOf("Microsoft Internet")==-1) {
if (document.embeds && document.embeds[movieName])
return document.embeds[movieName];
}
else return document.getElementById(movieName);
}

// Установить фокус
function setFocus() {
getFlashMovieObject("altContent").focus();
}

// SWF загружен
function FlashContentLoaded() {
setFocus();
}

iNils
15.07.2009, 19:11
1. Добавляйте каждый раз к имени файла случайное значение. Например test.swf?6419345969
2. в FireFox и IE все работает Вы уверены, что в FF работает? Вообще-то не должно.

JinRu
15.07.2009, 20:15
Насчет первого так и было, я оказывается в скобках намудрил, там все время одно и то же значение генерилось :)

Что касается FF - так быть не должно, но тем не мение работает (у меня FireFox 3.5)
В Safari, та же ерунда, то же не работает

iNils
15.07.2009, 20:25
Проверил в FF 3.5, у меня не работает. Можете ссылку выложить с рабочим примером?

JinRu
15.07.2009, 21:07
http://jinru.narod.ru/index.html
На куб, можно не обращать внимание

Добавлено через 19 минут
Совсем забыл
Управление :)
Клавиши вверх, вправо, влево, F9

Добавлено через 24 часа 1 минуту
Похоже в опере флеш вообще не принимает событие onfocus
Написал на Opera.com в Bug Report, пусть думают