Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Так есть или нет innerHTML в теге <OBJECT> и DOM-объекте типа OBJECT? (https://javascript.ru/forum/events/17816-tak-est-ili-net-innerhtml-v-tege-object-i-dom-obekte-tipa-object.html)

Маэстро 04.06.2011 11:39

Цитата:

Сообщение от dmitriymar (Сообщение 107294)
погодь. а без аякс ты не пробовал менять содержимое объект?

Пробовал. Но о каком "объекте" сейчас вопрос? Если буквально о типе OBJECT, то результаты я описал в самом первом посте темы.
Если речь об объекте Adobe Flash Player (внедренном в свою очередь в объект OBJECT), то без аякса работает. Но у меня ситуация сложнее: грузится страница сайта и уже в процессе ее загрузки запускается аякс, который в свою очередь грузит Flash... который.... которого... в доме который построил Джек ;)
только не спрашивайте меня, зачем так сложно. могу только сказать, что именно в такой ситуации IE "путается". остальные броузеры нормально понимают чего от них хотят.

dmitriymar 04.06.2011 12:59

о флеше спрашивал. у меня замена содержимого в объекте через inner в фф пару месяцев назад отказалась работать.точнее замена была -работы не было. так что только про ие утверждение спорное

Маэстро 04.06.2011 13:31

Цитата:

Сообщение от dmitriymar (Сообщение 107308)
... через inner в фф пару месяцев назад отказалась работать..

а пару месяцев назад вроде еще не было FF 4-й версии. может потому и не работало. а в последней версии могли это уже поправить.
в любом случае если мой подход Вам поможет и в FF, то я рад

Маэстро 04.06.2011 13:50

И вот что еще вспомнил к предыдущему. В самом начале я говорил, что в FF есть нюансы... эти нюансы могут быть для Вас решающими.
Как Вы создаете тот DIV, в который вставляется OBJECT flash?
Есть два варианта:
1.
<div id="mama"></div>
var a = document.getElementById('mama');
a.innerHTML='....FLASH...';

2.
var a = document.createElement('mama');
кудато.appendChild(a);
a.innerHTML='....FLASH...';

Вроде бы по сути одно и то же. Но первый вариант в FF работает, второй - нет.
И еще одно примечание: материнский DIV "mama" на момент внедрения FLASH должен быть видимым! Иначе FLASH работать не будет. Почему? - надо спросить у Adobe.

Slavenin 04.06.2011 13:53

случайный параметр в строке это не лучший выход. просто отправляйте браузеру нужные заголовки и проблема будет решена

header('Cache-Control: no-cache, must-revalidate');
 header('Cache-Control: post-check=0,pre-check=0', false);
 header('Cache-Control: max-age=0', false);
 header('Pragma: no-cache');

Маэстро 04.06.2011 15:28

Цитата:

Сообщение от Slavenin (Сообщение 107316)
случайный параметр в строке это не лучший выход. просто отправляйте браузеру нужные заголовки и проблема будет решена

header('Cache-Control: no-cache, must-revalidate');
 header('Cache-Control: post-check=0,pre-check=0', false);
 header('Cache-Control: max-age=0', false);
 header('Pragma: no-cache');

Вы привели пример принудительной оправки заголовков из PHP.
А как их формировать, если с сервера отправляется файл *.txt? *.js? *.swf? Делать настройку файла .htaccess как мы обсуждали в теме http://javascript.ru/forum/ajax/2643-kodirovka.html ?
А если *.swf загружается с чужого сервера, то... просить админов чужого сервера внести настройки в их сервер для меня? ;)

Slavenin 04.06.2011 19:13

ну дак шлите эти заголовки axaj;)
xmlhttp.setRequestHeader('Cache-Control', 'no-cache, must-revalidate');

Маэстро 09.06.2011 14:27

Цитата:

Сообщение от Slavenin (Сообщение 107340)
ну дак шлите эти заголовки axaj;)
xmlhttp.setRequestHeader('Cache-Control', 'no-cache, must-revalidate');

Скажите, а Вы на ПРАКТИКЕ проверяли то, что советуете?
Утверждаю, что в IE 8 это не работает! а у Вас?

Давайте пофилософствуем на эту тему. В вопросах кеширования сервер посылает заголовки броузеру, чтобы он (броузер) понял как ему поступать.
А что получается в Вашем варианте? Вы из броузера посылаете заголовок серверу (по поводу кеширования). И... что дальше? ;)


Часовой пояс GMT +3, время: 16:50.