Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как запустить подгруженный скрипт, подгружаю через XMLHttpRequest 
V
    Опции темы
Tony
  Дата 25.9.2006, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 1
Всего: 12



На странице обнавляется контент 4ерз ajax.Проблема в том что в ответ возвращается html+<script type="text/javascript">alert('some_text')</script>

Полу4енный скрипт не отрабативет на странице.Как заставить работать его smile .


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
pythonwin
Дата 25.9.2006, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 1
Всего: 36



может поместить в innerHTML тега <div/>?
PM WWW GTalk Jabber   Вверх
skyboy
Дата 25.9.2006, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



как ты этот ответ вставляешь: через innerHTML или путем парсинга дерева для Response?
PM MAIL   Вверх
Tony
Дата 25.9.2006, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 1
Всего: 12



Код

<html>
<head>
<title>Simple Ajax Example</title>
<script language="Javascript">
function xmlhttpPost(strURL) {
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
            updatepage(self.xmlHttpReq.responseText);
        }
    }
    self.xmlHttpReq.send(null);
}

function getquerystring() {
    var form     = document.forms['f1'];
    var word = form.word.value;
    qstr = 'w=' + escape(word);  // NOTE: no '?' before querystring
    return qstr;
}

function updatepage(str){
    document.getElementById("result").innerHTML = str;
}
</script>
</head>

<form name="f1">
  <p>word: <input name="word" type="text">  
  <input value="Go" type="button" onclick='JavaScript:xmlhttpPost("test.html")'></p>
  <div id="result"></div>
</form>
</body>
</html>



ответ:
Код

<h1>test</h1>
<script type="text/javascript">alert('killer')</script>
<h2>=====</h2>



--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
12345c
Дата 25.9.2006, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



На подобное вроде бы отвечали, что скрипт надо обернуть в функцию, а потом вызвать её по eval('имя_функции();');.
PM WWW   Вверх
Tony
Дата 25.9.2006, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 1
Всего: 12



eval не подходит.Как то по другому можно?


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
skyboy
Дата 25.9.2006, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



средствами DOM создаешь элемент типа SCRIPT, наполняешь его скриптом, меняешь свойство src на что угодно(например - " "), а потом - обратно обнуляешь. Насколько мне известно, скрипт "перезагрузится" с выполнением контента.
PM MAIL   Вверх
pythonwin
Дата 25.9.2006, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 1
Всего: 36



Цитата(skyboy @  25.9.2006,  22:22 Найти цитируемый пост)
средствами DOM создаешь элемент типа SCRIPT, наполняешь его скриптом, меняешь свойство src на что угодно(например - " "), а потом - обратно обнуляешь. Насколько мне известно, скрипт "перезагрузится" с выполнением контента.

а код сможешь показать?
PM WWW GTalk Jabber   Вверх
Tony
  Дата 25.9.2006, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 1
Всего: 12



Цитата(skyboy @ 25.9.2006,  15:22)
средствами DOM создаешь элемент типа SCRIPT, наполняешь его скриптом, меняешь свойство src на что угодно(например - " "), а потом - обратно обнуляешь. Насколько мне известно, скрипт "перезагрузится" с выполнением контента.

Ты предлогаешь разделить полу4енные данные на хтмл и скрипт(не покатит т.к. сервер рендерит одно целое).Тоесть сна4ала рендерится хтмл затем идёт яваскрипт,каторый регулурует предыдуший html tabControl posmotitam vnizy <script type="text/javascript">document.onload=selectDefaultTab('s3475394dfbgf_1');</script>


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
pythonwin
Дата 25.9.2006, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 1
Всего: 36



Цитата(Tony @  26.9.2006,  00:04 Найти цитируемый пост)

Ты предлогаешь разделить полу4енные данные на хтмл и скрипт(не покатит т.к. сервер рендерит одно целое).Тоесть сна4ала рендерится хтмл затем идёт яваскрипт,каторый регулурует предыдуший html tabControl posmotitam vnizy <script type="text/javascript">document.onload=selectDefaultTab('s3475394dfbgf_1');</script> 


Tony, ты это для TabControl делаешь?

Добавлено @ 17:11 
здесь посмотри - может это поможет?
http://mochikit.com/doc/html/MochiKit/DOM.html
http://mochikit.com/doc/html/MochiKit/index.html

Добавлено @ 17:12 
http://mochikit.com/doc/html/MochiKit/Async.html
PM WWW GTalk Jabber   Вверх
skyboy
Дата 25.9.2006, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



Цитата(pythonwin @  25.9.2006,  16:04 Найти цитируемый пост)

а код сможешь показать? 

что-то я попутал smile вот так создаю:
Код

<html>
<head>
<script type="text/javascript">
function foo()
{
 var script= document.createElement('script');
 script.type= "text/javascript";
 script.text= 'alert("!");';
 document.getElementsByTagName('body')[0].appendChild(script);
}
</script>
</head>
<body onload="foo();">
</body>
</html>

Алерт видно и под ФФ1.5.0.7, и под ИЕ 6.0 без изменения источника скрипта...
PM MAIL   Вверх
Tony
Дата 25.9.2006, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 1
Всего: 12



Цитата(pythonwin @ 25.9.2006,  17:07)
Цитата(Tony @  26.9.2006,  00:04 Найти цитируемый пост)

Ты предлогаешь разделить полу4енные данные на хтмл и скрипт(не покатит т.к. сервер рендерит одно целое).Тоесть сна4ала рендерится хтмл затем идёт яваскрипт,каторый регулурует предыдуший html tabControl posmotitam vnizy <script type="text/javascript">document.onload=selectDefaultTab('s3475394dfbgf_1');</script> 


Tony, ты это для TabControl делаешь?

Добавлено @ 17:11 
здесь посмотри - может это поможет?
http://mochikit.com/doc/html/MochiKit/DOM.html
http://mochikit.com/doc/html/MochiKit/index.html

Добавлено @ 17:12 
http://mochikit.com/doc/html/MochiKit/Async.html

угу.Спасибо посматрю.

Добавлено @ 17:57 
Цитата(skyboy @ 25.9.2006,  17:25)
Цитата(pythonwin @  25.9.2006,  16:04 Найти цитируемый пост)

а код сможешь показать? 

что-то я попутал smile вот так создаю:
Код

<html>
<head>
<script type="text/javascript">
function foo()
{
 var script= document.createElement('script');
 script.type= "text/javascript";
 script.text= 'alert("!");';
 document.getElementsByTagName('body')[0].appendChild(script);
}
</script>
</head>
<body onload="foo();">
</body>
</html>

Алерт видно и под ФФ1.5.0.7, и под ИЕ 6.0 без изменения источника скрипта...

Ты предлагаешь эту страницу 4ерз ajax загрузить?


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
skyboy
Дата 25.9.2006, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



нет, конечно. я говорю, что при таком создании(а не через innerHTML) скрипт выполняется. только и всего.
PM MAIL   Вверх
Tony
  Дата 25.9.2006, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 1
Всего: 12



Конечно developer'ы будут перегружать отделный tab(содержимое таба) ,а не весь tabbedPane 4ерз аях.Тоесть это вопрос снимает,но...Если нужно будет весь tabbedPane ?  smile .Поэтому вопрос не решён.А то потом будут бегать :"ААА у меня не работает 4то за ........." smile 


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
skyboy
Дата 25.9.2006, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



Tony, не совсем понятно. это ты к моему посту говоришь? 
у меня вот формируется ответ в виде валидного XHTML-кода. Полученное я парсю рекурсивно при помощи DOM функций, причём при объеме передачи 50-100 элементов критического падения скорости в сравнении с использованием innerHTML не наблюдаю. А ко всему имею полный контроль над воссозданием дерева. Потому для меня остаётся загадкой, почему ри передаче tabbedPanel должны быть проблемы. Впрочем, я вообще не знаю, что это такое. Шаблон, что ли?
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0574 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.