Flash / TextField / Safari — не удается ввести в текстовое поле, когда для wmode установлено значение transparent

#flash #actionscript-3 #safari

#flash #actionscript-3 #safari

Вопрос:

Почему текстовые поля не улавливают события должным образом в Safari, когда wmode прозрачен (никаких проблем в ie / ff / chrome)? Единственные найденные мной обходные пути включают отправку событий полей HTML-формы для прошивки через внешний интерфейс (например, наложение html-формы на flash). Есть ли изящное решение / обходной путь для этой проблемы?

Редактировать: код встраивания Swfobject…

 <script>

var swfVersionStr = "10.2.0";
var xiSwfUrlStr = "playerProductInstall.swf";
var flashvars = {};

flashvars.swfsPath = "http://domain.com/swfs/";
flashvars.initial_section = "0";

var params = {};

params.quality = "high";
params.bgcolor = "#cfc7c0";
params.allowscriptaccess = "always";
params.allowfullscreen = "true";
params.wmode = (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) ? "transparent" : "opaque";

var attributes = {};

attributes.id = "Loader";
attributes.name = "Loader";
attributes.align = "middle";

swfobject.embedSWF(
    flashvars.swfsPath   "Loader.swf", "Loader", 
    "100%", "100%", 
    swfVersionStr, xiSwfUrlStr, 
    flashvars, params, attributes); 

swffit.fit("Loader", 980, 726);

</script>
  

Комментарии:

1. Мне кажется, что вы уже делаете какой-то взлом, накладывая формы на флэш-фильм. vmode обычно вызывает проблемы. Можете ли вы уточнить, что именно вы пытаетесь сделать?

2. @The_asMan Мы пытаемся создать простую форму, всего несколько текстовых полей, но мы не можем вводить их в Safari (элемент получает фокус, но игнорирует нажатия клавиш). Atm обходного пути не существует.

3. Когда вы говорите элемент, что именно вы имеете в виду? Текстовое поле html? Текстовое поле flash? упростите свой код и опубликуйте его

4. @The_asMan ввод текста во флэш-памяти. Он не получает ключевые события. Похоже, это ошибка с версией flash debugger в safari:/.

5. Похоже, вы не единственный, у кого эта проблема. Вы видели это? analogcode.com/p/JSTextReader wmode — это всегда кошмар для работы.

Ответ №1:

это известная проблема в течение длительного времени… Я говорил с Adobe на конференции MAX в Лос-Анджелесе, и они знают об этом, но на данный момент не планируют это исправлять … извини, приятель

Комментарии:

1. Возможно, использование текстового поля TLF решит эту проблему? Я спросил об этом кого-то еще в офисе, и он протестировал для меня, и это сработало, но он использует TLF… Я собираюсь уйти и попробовать это сейчас.