Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   как установить фокус для флэш в браузере (http://www.flasher.ru/forum/showthread.php?t=168473)

Atarion 21.09.2011 12:47

как установить фокус для флэш в браузере
 
вставляю ролик так:
PHP код:

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> 

но в опере - он не получает фокуса по умолчанию - и поэтому приходится на него раз щелкнуть - он получит фокус- и только тогда начинает взаимодействовать с пользователем. как можно это сделать из ява скрипта?

kackbip 21.09.2011 13:09

Используйте swfobject для встройки флэшек

Atarion 21.09.2011 13:18

мне хочется самому понять как это сделать. готовое использовать - проще всего. ведь там ВНУТРИ тоже ведь как то это делается! не боги горшки обжигают!

neva 21.09.2011 13:31

Код:

function setFocus()
{
        var swf = document.getElementById('Main');
        swf.focus();
}

window.setTimeout('setFocus ()', 1);

Попробуйте так, может поможет... Код необходимо вставить в index.html, в котором стоит влешка с id='Main'

Atarion 21.09.2011 13:59

это уже пробовал - не помогло.

Добавлено через 58 секунд
только без таймера. зачем здесь он. лучше body onload

fish_r 21.09.2011 14:24

Цитата:

Сообщение от Atarion (Сообщение 1033179)
мне хочется самому понять как это сделать. готовое использовать - проще всего. ведь там ВНУТРИ тоже ведь как то это делается! не боги горшки обжигают!

Если готовое использовать - слишком легко, придумать самому - слишком сложно, может посмотреть что в 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 это не работает.

wvxvw 11.02.2012 16:24

http://code.google.com/p/swfobject/source/browse/

wiselord 11.02.2012 17:15

Цитата:

Сообщение от wvxvw (Сообщение 1062193)

Странно...
В архиве есть пример...
Так вот даже в примере фокус на флешку не устанавливается...
А 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>



Часовой пояс GMT +4, время: 09:19.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.