| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > вставка скрипта через replaceChild |
| Автор: beaver 1.7.2007, 11:05 | ||
есть такая вот страничка
нужно вставить в определенный элемент страницы код, который бы вызвал скрипт с другой страницы и заставил его исполниться (в скрипте несколько команд типа document.write) приведенная конструкция вставляет как текст и соответственно не выполняет. как победить? PS. вообще страничка формируеться из xml через xslt в браузере посетителя |
| Автор: vasac 1.7.2007, 13:42 |
| 1. Зачем вы создаете текстовый нод? Конечно он и будет отображаться текстом. О DOM вы, как видно, понятие имеете, так и создавайте элемент <script> с нужным SRC. 2. Почему это все равно работать не будет (вернее не так, как надо), можете почитать здесь — http://www.phpforum.ru/index.php?showtopic=2638 . Да не сочтут модераторы это за наглую рекламу. Используйте все тот же DOM, вместо document.write |
| Автор: beaver 1.7.2007, 15:52 | ||||||||||
| короче проблема в следующем, есть несколько файлов index.xml
открываю в браузере (ФФ 1.5 в моем случае), выделяю весь текст и смотрю исходный код выделенного фрагмента, вижу следующее
и очень нужно |
| Автор: vasac 1.7.2007, 18:22 | ||||
script.js:
index.js
А еще лучше, сходите в поиск по запросу "ajax" |
| Автор: beaver 1.7.2007, 18:41 |
| если бы я мог менять script.js, то давно бы решил проблему. а так он мне недоступен для редактирования, а выводить его нужно, он вообще на другом домене и соответственно на другом сервере находиться |
| Автор: vasac 1.7.2007, 19:05 | ||||
| Тогда либо грузить его аяксом и разбирать регулярками содержимое. Либо создавать скрытый iframe, содержащий <script> со ссылкой на нужный файл и его разбирать. Если несколько раз приходится получать данные, то можно сразу в html вставить:
iframe.htm:
loadframe - обработчик загрузки фрейма, получает содержимое загруженного дива, которое вставляется уже куда надо. С нужной периодичностью iframe нужно рефрешить. |
| Автор: beaver 1.7.2007, 19:48 |
| скрытый ифраме возможно тот вариант, ибо через xmlhttprequest с другого домена не выдерну только там вообще не див грузиться, а формируеться таблица несколькими document.write, но думаю принципиального отличия не будет. единственное, как тогда отследить, закончилась загрузка в ифрейм или нет, ставить settimeout нет особого желания, есть другие способы |
| Автор: vasac 2.7.2007, 09:13 | ||
Так у меня все отслеживается в примере |
| Автор: beaver 3.7.2007, 01:11 |
| не совсем то, что хотелось бы. сложность с src для iframe указывать html файл с этого же сайта не могу (там хостер такой гадости навставляет), тянуть с другого не совсем хорошо. остаеться только указать в качестве src адрес about:blank (сработает на любом браузере). как теперь вписать туда тег скрипт (так, что бы он исполнился), отследить, когда он загрузиться и отработает, и после всего этого забрать из этого ифрейма получившуюся таблицу (а там сгенерируеться таблица) и вывести ее в основном документе. |