powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / window.onload и Ajax
13 сообщений из 13, страница 1 из 1
window.onload и Ajax
    #34553051
Alex_BBB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть закладки при нажатии на которые происходит Ajax взаимодействие с сервером и загрузка HTML кода в отведенный для этого контейнер DIV.

Необходимо совершить действие только когда загрузка HTML кода будет полностью закончена.
Аналог window.onload на обычных страницах без Ajax.

Как такое можно сделать?

Спасибо.
...
Рейтинг: 0 / 0
window.onload и Ajax
    #34553073
Хрюхрюшкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<body onload="javascript:alert('{EQ')">
...
</body>
...
Рейтинг: 0 / 0
window.onload и Ajax
    #34553075
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Загружать в синхронном режиме. Пока весь код не будет получен, аякс не передаст управление следующей инструкции скрипта.
...
Рейтинг: 0 / 0
window.onload и Ajax
    #34553079
Alex_BBB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. получается так

На событие, которое происходит когда Ajax запрос обработан
Код: plaintext
1.
2.
3.
4.
req.onreadystatechange = function() {
    if (req.readyState ==  4 ){
        действия когда запрос обработан...
    }
}
помимо вставки полученного HTML кода
Код: plaintext
document.getElementById('div_id').innerHTML = req.responseText;
Нужно подгружать JavaScript, т.е. выглядеть это должно примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
req.onreadystatechange = function() {
    if (req.readyState ==  4 ){
        document.getElementById('div_id').innerHTML = req.responseText;
        подгрузка js файла
    }
}

Вопрос свелся к тому, как можно из Яваскрипта подгрузить и выполнить другой яваскрипт?
(желательно без eval)
...
Рейтинг: 0 / 0
window.onload и Ajax
    #34553102
Alex_BBB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ура! Вот нашел очень хорошее на мой взгляд решение

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
function change_src()
{var link = "scriptN.js";
var old_s = document.getElementById('dataloader');
if (old_s)
{old_s.parentNode.removeChild(old_s);            
}
var s = document.createElement('script');
s.setAttribute('type', 'text/javascript');
s.src = link;
s.id = 'dataloader';
document.getElementsByTagName('head')[ 0 ].appendChild(s);        

}

Источник
http://forum.vingrad.ru/index.php?showtopic=87742&view=findpost&p=673812
...
Рейтинг: 0 / 0
window.onload и Ajax
    #34553262
Alex_BBB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда гружу скрипты со своего же сайта, все отлично, но нужно еще и сдругих.

Вот, например, пытаюсь поключиться к Google maps:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
function change_src(link){
    var old_s = document.getElementById('dataloader');
    if (old_s){old_s.parentNode.removeChild(old_s);}
    var s = document.createElement('script');
    s.setAttribute('type', 'text/javascript');
    s.src = link;
    s.id = 'dataloader';
    document.getElementsByTagName('head')[ 0 ].appendChild(s);
}

change_src('http://maps.google.com/maps?file=api&v=2&
    key=ABQIAAAAOl-rMAdPBTAsVQkBODpEEBTyo-
    H9dFBSgWANgvLW3RUw7rauDBQ0-9lgN73iCT-bQtj8q23x4v5ulA');

Ничего не происходит.

В чем может быть причина?

Спасибо.
...
Рейтинг: 0 / 0
window.onload и Ajax
    #34553309
Хрюхрюшкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К примеру, CSS стили можно загружать только в пределах своего сайта. Подозреваю, что с JS то же самое.
...
Рейтинг: 0 / 0
window.onload и Ajax
    #34553345
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_BBB
В чем может быть причина?

Спасибо.
защита браузера от XSS
можно попробовать похимичить с netscape.security.PrivilegeManager
http://sql.ru/forum/actualthread.aspx?tid=392067&hl=netscape
...
Рейтинг: 0 / 0
window.onload и Ajax
    #34553353
Alex_BBB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LINUXER Alex_BBB
В чем может быть причина?

Спасибо.
защита браузера от XSS
можно попробовать похимичить с netscape.security.PrivilegeManager
http://sql.ru/forum/actualthread.aspx?tid=392067&hl=netscape

Вроде дело не в этом, так как если я вручную в заголовок страницы вставляю
Код: plaintext
1.
2.
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAOl-rMAdPBTAsVQkBODpEEBTyo-H9dFBSgWANgvLW3RUw7rauDBQ0-9lgN73iCT-bQtj8q23x4v5ulA"
      type="text/javascript"></script>

То все отлично работает.
...
Рейтинг: 0 / 0
window.onload и Ajax
    #34561265
for93t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
var ScriptTagProxy = function(url)
{
    this.head = document.getElementsByTagName("head")[ 0 ];
    this.url = url;
};

ScriptTagProxy.prototype.load = function
{
    var url = this.url;

    var script = document.createElement("script");
    script.setAttribute("src", url);
    script.setAttribute("type", "text/javascript");
    this.head.appendChild(script);
};
У меня работает без проблем
...
Рейтинг: 0 / 0
window.onload и Ajax
    #34561716
Alex_BBB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
for93tПримерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
var ScriptTagProxy = function(url)
{
    this.head = document.getElementsByTagName("head")[ 0 ];
    this.url = url;
};

ScriptTagProxy.prototype.load = function
{
    var url = this.url;

    var script = document.createElement("script");
    script.setAttribute("src", url);
    script.setAttribute("type", "text/javascript");
    this.head.appendChild(script);
};
У меня работает без проблем
Именно к google maps подключались?

"Я заглянул в скрипт, который Вы пытаетесь загрузить динамически. В нем используется метод document.write. Насколько мне известно, этот метод можно вызывать только ДО загрузки страницы..." - вот что мне сообщил один аторитеный товарищь(AKS)
...
Рейтинг: 0 / 0
window.onload и Ajax
    #34562120
for93t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_BBB
Именно к google maps подключались?


Нет, к ним не подключался. Но, я полагаю, снифер помог бы мне в случае возникновения проблем

Alex_BBB
"Я заглянул в скрипт, который Вы пытаетесь загрузить динамически. В нем используется метод document.write. Насколько мне известно, этот метод можно вызывать только ДО загрузки страницы..." - вот что мне сообщил один аторитеный товарищь(AKS)
А что ваш "аторитеный" товарищ скажет на это:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<html>
<body>
Original text
</body>
<script type="text/javascript">
document.body.onload = function ()
{
	document.write("Replaced text");
}
</script>
</html>
...
Рейтинг: 0 / 0
window.onload и Ajax
    #34562235
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что не доводилось юзать скрипты вне head.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / window.onload и Ajax
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]