Просмотр полной версии : как установить фокус для флэш в браузере
вставляю ролик так:
echo" <object id='id1' width='1100' height='800'><param id='d41' allowscriptaccess:'always' name='1' value='1.swf?t=$t'>
<embed src='1.swf?t=$t' id='id1' allowscriptaccess:'always' wmode='transparent' width='1100' height='800'>
</embed>
</object>
но в опере - он не получает фокуса по умолчанию - и поэтому приходится на него раз щелкнуть - он получит фокус- и только тогда начинает взаимодействовать с пользователем. как можно это сделать из ява скрипта?
Используйте swfobject для встройки флэшек
мне хочется самому понять как это сделать. готовое использовать - проще всего. ведь там ВНУТРИ тоже ведь как то это делается! не боги горшки обжигают!
function setFocus()
{
var swf = document.getElementById('Main');
swf.focus();
}
window.setTimeout('setFocus ()', 1);
Попробуйте так, может поможет... Код необходимо вставить в index.html, в котором стоит влешка с id='Main'
это уже пробовал - не помогло.
Добавлено через 58 секунд
только без таймера. зачем здесь он. лучше body onload
мне хочется самому понять как это сделать. готовое использовать - проще всего. ведь там ВНУТРИ тоже ведь как то это делается! не боги горшки обжигают!
Если готовое использовать - слишком легко, придумать самому - слишком сложно, может посмотреть что в swfObject написано?
wiselord
11.02.2012, 16:20
SWFObject автоматически устанавливает фокус на флешку сразу после загрузки html страницы или там есть для этого метод?
Я встраивал им, но фокус не устанавливался...возможно, я делал что-то не так...киньте, пожалуйста, ссылку на проверенную инструкцию по встраиванию флешки с помощью SWFObject, чтобы фокус устанавливался...
Вот такой код устанавливает фокус ввода на флешку в IE и FireFox
<!-- saved from url=(0013)about:internet -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body bgcolor="#ffffff" onload="document.getElementById('fleshka').focus();">
<embed src="myFlash.swf"
id = "fleshka"
play="false"
loop="false"
menu="false"
quality="high"
scale="noborder"
wmode="opaque"
devicefont="true"
bgcolor="#ffffff"
width="1100"
height="800"
name="Buttons"
align="middle"
swLiveConnect="false"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
/>
</body>
</html>
Особо стоит обратить внимание на параметр wmode="opaque". Без него FireFox фокус не переводит.
К сожалению в Chrome и Opera это не работает.
http://code.google.com/p/swfobject/source/browse/
wiselord
11.02.2012, 17:15
http://code.google.com/p/swfobject/source/browse/
Странно...
В архиве есть пример...
Так вот даже в примере фокус на флешку не устанавливается...
А IE вообще переспрашивает выполнять ли контент...
Добавлено через 16 часов 47 минут
Кстати, если в моём примере ещё установить tabindex = 1, то фокус будет автоматически переводиться на флешку ещё и в Chrome
<!-- saved from url=(0013)about:internet -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body bgcolor="#ffffff" onload="document.getElementById('fleshka').focus();">
<embed src="myFlash.swf"
id = "fleshka"
tabindex = "1"
play="false"
loop="false"
menu="false"
quality="high"
scale="noborder"
wmode="opaque"
devicefont="true"
bgcolor="#ffffff"
width="1100"
height="800"
name="Buttons"
align="middle"
swLiveConnect="false"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
/>
</body>
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.