Flash, ActiveX & IE update. part II
Эпопея с рамками вокруг флеша продолжается…
Сперва обнаружилось, что код, который я приводил в прошлом посте не работает в IE версий ниже 6-ой (точнее он работал, но не совсем так как задумано ;o) ) . Пришлось его немного подточить — flashvars теперь беруться не из тега PARAM, а из свойства altHTML у тега OBJECT (это свойство доступно только в IE и содержит html код с тегом EMBED), и вот код работает в IE 5.5 и IE5… но…
Но были замечены падения браузеров (5-го и 5.5) после переписывания outerHTML…
С другой стороны рамки вокруг ActiveX в этих браузерах мною замечены не были… посему код flash_replacer.js теперь исполняется только в IE6 (седьмой покамест beta — на него не рассчитываю).
Собственно код находиться здесь. (v.0.3.1) (v.0.4)(v.0.4.1)(v.0.5)(v.0.5.1)(v.0.6)(v.0.7)
Нуждающиеся в нём могут качать и пользоваться.
Знающие могут помочь мне с ответом на вопрос — в IE версий ниже 6-ой рамки есть или нету?
Баги и вообще любые фидбеки приветствуются…
UPDATE:
Исправил маленький «глюк», переименовал файл — теперь последняя версия называется flash_replacer_latest.js (находится по ссылке выше). Просьба к товарищам ссылающимся на данный файл поменять ссылку на файл (заранее спасибо за изменения и за ссылку вообще ;o) )
27.04 — Поправил проверку classid и сделал аналогичный прогон по embed-ам вне object-а
11.05 — Поправил регулярку, с помощью которой вытаскивались flashvars(они могут быть многострочными)
23.05 — удаляю outerHTML на window.unload (ie иногда падал из-за memory leak), flash_replacer теперь запускается только в winxp ie6+. Подробнее чуть позже опишу в третьей части «эпопеи»…
24.05 — workaround для flashvars, которые вставляются как get-параметры в src мувика
30.06 — теперь используется SWFObject для внедрения «переписанных флешек», в связи с этим баги с падением IE исчезли, но «маленько» уменьшилась функциональность — восстановлю на днях работу c embed и flashvars, которые передаются get-параметрами в src мувика
Уже месяц висит draft-пост про «завершение эпопеи»… но похоже конца этой «эпопеи» нет и не предвидится ;o)
Продолжение следует…
все получилось в лучшем виде … спасибо огромное
ЗЫ: вот уж эти мелкомягкие недомерки 8-(
комментарий от bhagavan | 2 мая, 2006
а почему не работают кнопки когда жмешь на них, там написан в акшин скрипт javascript:mywindow=window.open….. бла бла
короче оы не фуричить что делать подскажите
комментарий от student | 2 мая, 2006
то есть JS не пашет в Flash что ли
помогите плизз
вот код на кнопке
getURL(«javascript:еуые=window.open(‘https://#.htm,’toolbar=0,top=0,left=0,width=800,height=650,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,copyhistory=1’);void(0);»);
она не пашет
а когда пишешь без javascript
getURL(«https://#.htm»,»_blank»);
работает в чем дело?
комментарий от student | 2 мая, 2006
помогите плизз
вот код на кнопке
getURL(”javascript:test=window.open(’https://test.htm,’toolbar=0,top=0,left=0,width=800,height=650,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,copyhistory=1′);void(0);”);
она не пашет
а когда пишешь без javascript
getURL(”https://test.htm”,”_blank”);
работает в чем дело?
с этим обновлением IE не пашет JS в Flash
Как быть?
Comment by student | May 2, 2006
Leave a comment
Name
e-Mail
Website
« Previous |
комментарий от student | 3 мая, 2006
2student:
флеша под рукой сейчас нет, но конструкция вида getURL(‘javascript:openWindow()’); (где openWindow — функция объявленная непосредственно в js-файле ) работает нормально.
а с твоим кодом попробую чуть позже, когда доберусь до флеша.
P.S. а флешка не работает только в IE ? или в других браузерах тоже не работает ? сильно смущает «copyhistory»….
комментарий от MiRacLe | 3 мая, 2006
Блин, а как быть если у меня флэш-кнопка изначально проработана так, что я в html подставлял для нее url и текст на ней ну типа .. бла бла бла «images/menu_button.swf?t=ГЛАВНАЯ&l=index.htm». Если использовать алгоритм предложенный MiRacLe, а также теми кто предлагает «Путь самурая», то скрипт безусловно фигачит саму кнопку, но на этом конец, ни url’a ни надписи на ней (хотя может я чего не так делаю :( ). Есть ли возможность, чтобы кнопка работала в прежнем режиме, ну т.е. чтобы ей можно было бы присваивать значения url и надпись на ней из html, но при этом используя предлагаемые уважаемыми людьми алгоритм? Я конечно выход нашел вроде .. но этомега путь самурая … каждой кнопке во флэше присваивать url и делать тупо в нем же надпись именно для этой кнопки … но это жесть … 8-)
комментарий от znatok Ne | 4 мая, 2006
2 MIRacle спасибо заранее что расмотришь мою проблемму.
А мне не нужно в других хотябы в IE работало бы. А твой код пашет ушла рамка tooltip. Но осталась вон та проблемма с кнопкой.
комментарий от student | 5 мая, 2006
2student:
сорри за такой большой «перерыв»(праздники,работа,отдых….) — проблема твоя решается 2-умя способами (оба требуют перекомпиляции swf-ок)
1. сделать stop(); а потом getURL(‘javascript: window.open(«http://domain.tld/page.ext»,»windowName»,»window_feature=value»)’);
2. вызывать popup как
getURL(‘javascript:void window.open(«http://domain.tld/page.ext»,»windowName»,»window_feature=value»)’);
комментарий от MiRacLe | 20 мая, 2006
2student:
обрати кстати внимание — 2-ой параметр функции window.open — это имя окна, параметры идут третьим!
комментарий от MiRacLe | 20 мая, 2006
znatok Ne — можно быть уверенным, что flashvars (то что после знака вопроса в src мувика) у тебя одинаковые в object и в embed ?
а ещё лучше — выложи куда-нибудь пример "неработающего" кода…
комментарий от MiRacLe | 20 мая, 2006
обещанный код
комментарий от znatok Ne | 24 мая, 2006
завтра утром гляну.скорее всего сделаю то что после знака вопроса в обычные flashvars — должно получиться.
znatok Ne — пробуй версию 6.0, на тестовых примерах у меня отработало (во флешках переменные доступны как _root.t и _root.l)
комментарий от MiRacLe | 24 мая, 2006
MiRacLe … видимо ламерство мое сверх меры :( … но рамка у меня все равно на месте … чтобы было понятно о чем я говорю .. и может быть так проще будет найти мою ошибку .. вот тут пример страницы с кнопкой
А вот тут архив с исходником
И спасибо тебе большое, что откликаешься на решение проблемы … ;)
комментарий от znatok Ne | 25 мая, 2006
1. Рамок не вижу… (какая версия IE используется?)
2. в архиве (и на странице) «старая» (0.4) версия flash_replacer — последняя версия 0.6
3. вот скриншот твоей кнопки — без рамок.
может быть версия IE ? какая винда? и винда ли? ;o)
комментарий от MiRacLe | 25 мая, 2006
MiRacLe
ты прав ушла рамка .. (вот же странно … но она ж там была :/) …
А вообще спасибо тебе огроменное … человечище .. помог решить важную проблему для меня ;)
PS: винда ХР SP2
IE 6.0.2900.2180
комментарий от znatok Ne | 27 мая, 2006
ну вот и славно :)
комментарий от MiRacLe | 27 мая, 2006
MiRacLe … так просто не уйти … мне :) .. вобщем проблема с твоим скриптом следующая … в ХР (SP2 и IE 6.0.2900.2180) страница открывается и по прошествии пары секунд IE выдает ошибку и страница в срочном порядке закрывается.
В локальном режиме (на машине если запускать иннет страницы на харде размещенные) таже фигня … скрипт убираю из тела страницы (ну да конечно сразу возвращается рамка 8-) ) и больше не выбрасывает … поэтому думаю трабл в скрипте … :-/
ЗЫ: А теоретически может твой скрипт каким то образом конфликтовать с иными скриптами прописанными в теле html страницы (я в общем то не супер спец в формулировках, поэтому последнее может и вообще не возможно и я порю глупость 8-) )
вот скриншот ошибки
комментарий от znatok Ne | 1 июня, 2006
Если скриншот не откроется .. убери из адреса .. «www» :)
комментарий от znatok Ne | 1 июня, 2006
да есть такое, многие жалуются (даже сам пару раз попадал на такое)
тут не в конфликте скриптов дело — IE падает из-за утечек памяти при переписывании outerHTML… пробую с этим бороться — как только решение найду — выложу сюда.
комментарий от MiRacLe | 1 июня, 2006
[…] Часть II […]
Уведомление от Я проcто Чудо {вище} » Blog Archive » Flash ActiveX & IE update | 6 июля, 2006