Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: Передача фокуса клавиатуры swf-ролику в браузере
Flash Zone Forum > Macromedia Flash > ActionScript
Omberlake
При публикации swf в виде html, чтобы нажимать в ролике на кнопки, нужно как минимум щёлкнуть на нём один раз мышкой, и это очень портит впечатление от сайта.

Вычитал следующее решение этой проблемы:
"К счастью, принудительная передача фокуса может быть осуществлена следующей командой java script:

getURL("java script:index.focus(); void 0;");

Используя метод getURL(), эта строка вызывает метод javascript Window.focus() с указанием целевого файла index (предполагается, что swf называется index.swf ). Фокус автоматически передаётся swf ролику с указанным именем."

Вот так вот. Однако у меня это не работает (помещаю этот код в кадре 1 главной временной диаграммы ролика index.swf , который затем публикую).

Мне кажется, я что-то недопонимаю.
Если кто знает, в чём секрет, или как это сделать иначе, подскажите.
Duncon
Дай ссылку где вычитал
Omberlake
Не сочтите за рекламу, но всё-же поделюсь: офигенная книжка, в которой есть ответы практически на все интересные вопросы по Флеш и Экшн Скрипт:

Бхангал Ш. "Флеш. Трюки. 100 советов и рекомендаций профессионала" - СПб.: Питер, 2005. - 460с.: ил.

Единственно, он в этом (95-м) трюке, видно, недостаточно подробно написал, что куда печатать, и как это работает.

А что, Duncon, у тебя это работает?
Если по логике, то ролик не может сам себе передать управление, т.е. код, активизирующий его, должен запускаться из HTML, а не из ЭкшнСкрипт.
По идее, надо в опубликованный HTML-документ вставить джаваскрипт передачи фокуса...
Но я вообще ничего не понимаю в джаваскрипт, и не горю желанием его изучать - я влюбился во Флеш и ЭкшнСкрипт rolleyes.gif
tiHo

smile.gif
Duncon
У меня так тож не хочет получаться, но я по своему все же передал фокус ролику, и на нем выползла надпись - типа нажми пробел или энтер для активизации, таки 7 эксплоер отдыхает хз как бороться.
Omberlake
А если всё же дать команду джаваскриптом из хтмл?
Duncon
Я это сделал читай предидущий пост, другой вопрос есть ли возможность сгенерировать событие нажатия клавишы?
Omberlake
Так мож ты приведёшь здесь свой вариант кода и место его размещения?
Duncon
Я его потер ужо, сей час от балды тут накидаю

Код
function fl_focus(){
  document.getElementById("fl").focus();
}

<body onload="fl_focus()">
<embed id="fl">

это тупо на js.. Но это не решает проблемы во многих броузерах нужно щелкнуть на флешке.
tiHo
твой вариант для Оперы вроде.

вот еще для Експлорера:

2-ю строчку заменяем на:

document.all.item("fl").focus();
или
document.all["fl"].focus();

какойто из них должен работать wink.gif
Omberlake
На каком-то форуме нашёл следующий диалог:

---- unsure.gif "Дано: имеется расширение для FF - EZ Sidebar, которое добавляет в контекстное меню пункт "Add This Link to Sidebar".

Вопрос: как из Javascript "нажать" этот пункт? "

-----"Знатоки сообщают:

"Нажать" на пункт контекстного меню програмно невозможно из соображений безопасности. cool.gif "

Очень близко к нашей теме. И вроде как те, кто разрабатывает Макромедиа Флеш, тож много внимания уделяли безопасности, так их разтак, чтобы флеш-ролики проявляли меньше самодеятельности, так что в ближайшее время лучшее, что нам светит - это получать сообщения о пробеле или энтере. mad.gif blink.gif
Если не найдётся какого-то действительно хакерского злобного приёма. ph34r.gif
Duncon
Цитата(tiHo @ 16.03.2007 - 01:33) *
твой вариант для Оперы вроде.

вот еще для Експлорера:

2-ю строчку заменяем на:

document.all.item("fl").focus();
или
document.all["fl"].focus();

какойто из них должен работать wink.gif

tiHo надо бы знать что к объекту на странице можно обратиться либо по имени либо по id (причем по имени несет с собой некоторые неудобства), станет интересно далее книжки почитаешь..
Не стоит нести чушь про оперу не оперу - эталон IE все остальное альтернатива и на примере той же оперы плохо написанная.. Все извращения в коде как раз из-за этого и протисходят...
MerliX
Не надо оперу опускать. В осле много дыр нашли, да и неудобный это браузер. И куда ты запихал Netscape? Че, скажешь не эталон? А то что под Mac OS браузером зовут? ЧТо касается кода, то он как правило и длинный потому, чтоб ко всем подходил. А не к эталону. И извращения - дело обыденное. По крайней мере сейчас.
Duncon
Под эталоном я имел ввиду отображение и работу с кодом, а не юзабилити (к тому же заюзай 7-го ослика), В осле много дыр нашли - это традиция - еб_ть продукты мелкософта, хотя я не помню про дыры как-то инфа мимо прошла, в любом случае дыр при надобности и в остальных найдут (да и они есть просто о них не шумят).
И не надо гнать про Netscape что он такой правильный, у всех у них косяков хватает, никогда не видел форумы с багами того или иного альтернативного просмоторшика?
MerliX
Видел, не спорю, но Опера по-моему все ж ничего. Если так нравится осел - дело твое. Но много народу его не предпочитают, а следовательно разработчикам париться с такими проблемами еще долго.
Duncon
Мне ни то ни другое не нравится, опера ничего, но косяков в ней даже в последней версии полно..
MerliX
Напиши свой! Без косяков и т.д. Я с удовольствием поюзаю.
AlexYeCu
А для меня вот загадка криво работающий as в Опере. Да и версии, бьющие скачиваемые файлы, в нач. века встречались. И были они "файнл релизами". А вообще тема в "Какой браузер лучше" переродилась... ...Лично я считаю за наименее глючный именно IE... ... а наиб. удобным - Maxthon на IE движке (хотя и тут косяков изрядно).
tiHo
Цитата(AlexYeCu @ 19.03.2007 - 15:16) *
.Лично я считаю за наименее глючный именно IE...


у меня выдает ашипку на каждой 2-ой странице. не точно но с приблизительным интервалом. даже пытался отследить систему biggrin.gif неполучилось. неудивительно. laugh.gif
Duncon
мля вы здесь читать умеете или как я говорю про эталон обработки html и сопутствующих.. А не о глючности броузера.(или кривых руках программеров).
MerliX ха-ха не поверишь он у меня есть, для кондифициальных данных - ну типа нажал на кнопочку попал на мыло еще на кнопочку в игру играешь итп, но по дефолту юзаю 7 ослика и при сборке сайтов оперу (при спец нужде в остальных), для просмотра узких мест (косяков) в отображении страниц..
в ответ: напиши сам нюб.. laugh.gif
MerliX
Я и не говорю что я супер програмер, как ты, и на софт, который явно не дураками написан не лезу.
кондифициальных - это ты что хотел сказать? Машинист...
Че ты заладил со своим нюбом? Словарный запас, типо? Бдевятнадцать, умник нашелся. Смотрите все - вот оно, то к чему надо стремиться. То есть ты хочешь сказать, что тут все ламеры? Как говориться, молодец среди овец?
Duncon
Да нет тут есть несколько профов, но они не позволять выражать необосновонные догадки о том чего явно не знают..
конфиденциальных, внатуре с просони на буковку ошибся, с кем не бывает.
MerliX ты вместо прериканий задави меня фактами, а не трепи языком.(не только для этого топика). Это и выдает ламера..
tiHo
MerliX, Duncon, : /forum/index.php?s=&...post;&p=7312
Русская версия IP.Board © 2001-2010 IPS, Inc.