Показать сообщение отдельно
Старый 15.07.2009, 18:32
JinRu вне форума Посмотреть профиль Отправить личное сообщение для JinRu Найти все сообщения от JinRu
  № 1  
Ответить с цитированием
JinRu

Регистрация: Jun 2009
Сообщений: 28
По умолчанию Opera и Flash ( кэш и focus() )

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 ошибок не выдает, но и работать не думает.
Код AS1/AS2:
// Найти 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();
}