Так есть или нет innerHTML в теге <OBJECT> и DOM-объекте типа OBJECT?
Я уже запутался с этими броузерами и документами, описывающими возможности innerHTML. Прошу вашего внимания.
Провожу простой тест: var a=document.createElement('DIV'); var b=document.createElement('OBJECT'); a.innerHTML='blablabla'; b.innerHTML='blablabla'; Что имеем? Ну с DIV_ом всё понятно, всё хорошо. А вот с объектом типа 'OBJECT' в разных броузерах: Google Hrome (11.0) - Отлично! всё работает! FireFox (4.0.1) - работает. но есть нюансы. Opera (11.11) - BAD. IE (8.0) - BAD. вызывает ошибку! Есть надежда, что в следующих версиях броузеров это будет работать? Хотя вроде оно и так должно работать, потому как написано: The property is read/write for all objects except the following, for which it is read-only: COL, COLGROUP, FRAMESET, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, TR. |
вставляй инфу через инер сразу с тегом OBJECT
|
Цитата:
В IE опять же проблемы... Кстати, интересная злостная статья на тему почему НЕ НАДО использовать innerHTML: http://www.javascriptkata.com/2007/0...-html-objects/ |
Цитата:
|
dmitriymar, понимаете... проблемы такие, что я даже затрудняюсь описать их словами. Вы, думаю догадались, что OBJECT - это Adobe Flash Player (type="application/x-shockwave-flash")
Так вот это дело вроде и работает.. но периодически не работает (на одном и том же коде и при одних и тех же параметрах). Выражается это внешне в так, что как будто бы Flash "недогрузился" и перестает реагировать на любые события. Этот феномен повторяется нестабильно, не за что зацепиться. Он то есть, то нет. И такое только в IE. |
Маэстро,
ну дак я это понял. и сталкивался с этим-тоже не понимал что за фигня-почему работает а потом всё-лежит.причём в одинаковых браузерах у одних работает в ие у других лежит мёртво. проблема оказалась в доктайпе |
вот еще, что забыл сказать. Все же обнаружил закономерность, которую не могу объяснить:
п.1. Открываю чистый броузер IE, захожу на страницу - Flash работает. п.2. Обновляю страницу (F5) - Flash не работает! и после последующих нажатий F5 тоже не работает. п.3. Закрываю полностью броузер далее всё повторяется с первого пункта. аналогичный эффект при открытии страницы в другой закладке одного и того же броузера. а доктайп... знаете, мож я и не прав, но я привык испытывать в первую очередь всё без доктайпа. объясню почему: мой скрипт предполагается быть внедренным на других (чужих сайтах). и я не смогу заставить людей менять его на своих серверах. поэтому оно должно работать при любом доктайпе. |
плеер поменять попробуй.
http://flv-mp3.com/ru/ |
Цитата:
2. Но я таки нашел решение вышеописанной проблемы. И хоть некоторые тут обвиняли меня в занятиях "магией", но с IE иногда без бубна просто не канает. Следите за моей мыслью ;) Если фокусы с подвисанием плеера происходят при запуске броузера и последующем обновлении, то скорее всего это как-то связано с кешированием в броузере, так? Тем более, что давно заметил, что кеширование в IE наиболее тупое. Классические строчки в заголовке страницы типа: <meta http-equiv="Expires" content="Thu, 01 Dec 1991 01:00:00 GMT"> <meta http-equiv="Pragma" content="no-cache">-не помогает! И тогда я рискнул и воспользовался технологией борьбы с кешированием, используемую при работе с XMLHttpRequest и добавил в плеере в путь к файлу *.swf случайный параметр для борьбы с кешированием ?nocache='+Math.random()Причем достаточно поставить это в секцию data="...", а в секцию <param name="movie" value="..." />-не обязательно. И свершилось чудо. IE работает стабильно и прогнозируемо! Немного беспокоит, что у пользователя при обновлении страницы будет каждый раз загружаться swf-файл по-новой, но это ерунда, т.к. он всего 13K. 3. Открытая мною тема (в заголовке) всё же в силе. |
погодь. а без аякс ты не пробовал менять содержимое объект?
|
Часовой пояс GMT +3, время: 09:41. |