Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как можно получить и выполнить скрипт по window.onload (https://javascript.ru/forum/misc/22976-kak-mozhno-poluchit-i-vypolnit-skript-po-window-onload.html)

TicTac 07.11.2011 23:55

Как можно получить и выполнить скрипт по window.onload
 
Есть вставка скрипта
<script type="text/javascript" src="http://www.goodsite.com/user.php?id_d=630&type=0"></script>

Эта вставка возвращает такой ява скрипт и выполняется соответственно
document.write("html code");


т.е. на место вставки
<script type="text/javascript" src="http://www.goodsite.com/user.php?id_d=630&type=0"></script>
в итоге выводится - html code

Как выполнить загрузку и вставку этого кода по window.onload, пробовал делать так


window.onload = function(){
  $.getScript('http://www.goodsite.com/user.php?id_d=630&type=0', function(data){
     console.log(data); //data undefined ((
  });

}

trikadin 07.11.2011 23:57

Здравствуйте!

Судя по вашему сообщению, вы ну совсем не знаете javascript.

Освойте основы языка и вопрос отпадет сам, полностью или частично.
А с чем не справитесь - поможем.

На сайте javascript можно начать изучать с учебника, раздел Основы javascript.
Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://htmlbook.ru

Задавайте конкретные вопросы по ходу дела.

TicTac 08.11.2011 00:14

trikadin, судя по вашему сообщению вы или бот или бот-автоответчик.
Аргументируйте лучше.

nasqad,
Я хочу чтобы эту вставку <script type="text/javascript" src="http://www.goodsite.com/user.php?id_d=630&type=0"></script>
парсер не увидел вообще так как это тормозит весь js пока не загрузит эту вставку, а загрузил ее в отложенном режиме, например когда сработает событие window.onload это возможно сделать?

Думаю конкретнее дальше некуда.


Цитата:

Сообщение от nasqad (Сообщение 135108)
плохая идея делать document.write после загрузки документа,
плохая идея вообще использовать document.write,

тут ничего не поделать с document.write, он остается :(

Цитата:

Сообщение от nasqad (Сообщение 135108)
$(document).ready(function(){
  $.getScript('http://www.goodsite.com/user.php?id_d=630&type=0')
});

не совсем понял что это:) можете пожалуста прокомментировать

trikadin 08.11.2011 00:19

Цитата:

Сообщение от TicTac
trikadin, судя по вашему сообщению вы или бот или бот-автоответчик.

Хм, нет, я вроде настоящий) Это называется копипаста)

Цитата:

Сообщение от TicTac
Аргументируйте лучше.

Я решил, что вы плохо знаете javascript, потому что ваш код ужасен, и вы плохо объясняете, что вам нужно. Куда уж лучше-то аргументировать. Поизучайте javascript ещё)

Aetae 08.11.2011 00:51

Если отбросить поъёбки, то объясняю популярно:
document.write() выполняется по мере реальной загрузки страницы, утрируя: как только скачана закрывающая скобка. Поэтому после загрузки оно работать никак не будет.
Если в том скрипте используется d.w. то надо либо исправлять его, либо если он не ваш - подменять d.w. у себя.)

TicTac 08.11.2011 01:22

Цитата:

Сообщение от trikadin (Сообщение 135114)
Я решил, что вы плохо знаете javascript, потому что ваш код ужасен, и вы плохо объясняете, что вам нужно. Куда уж лучше-то аргументировать. Поизучайте javascript ещё)

кармо-др., сообщения-др., я так решил потому что вы могли бы тут и не писать... это мое мнение, можете с ним согласится, а можете нет,

Цитата:

Сообщение от nasqad (Сообщение 135115)
это код который загрузит и выполнит вашу вставку когда сработает window.onload(с)
но я бы посоветовал вам прислушаться к словам trikadin`a

садись два
1. Оно не сработает по событию window.onload
2. Оно не выполнит код который с document.write()



Цитата:

Сообщение от Aetae (Сообщение 135128)
Если отбросить поъёбки, то объясняю популярно:

спасибо, я примерно этого и ожидал:)

Цитата:

Сообщение от Aetae (Сообщение 135128)
document.write() выполняется по мере реальной загрузки страницы, утрируя: как только скачана закрывающая скобка. Поэтому после загрузки оно работать никак не будет.

я это проверял пока вы писали да реально не работает именно document.write(), а так по мелочам код загружает и выполняет

Цитата:

Сообщение от Aetae (Сообщение 135128)
подменять d.w. у себя.)

не совсем понял, переопределить document.write()?

Aetae 08.11.2011 01:40

Ога, как то так:
writeArray=[]; //массив из строк, что должны были быть записанны write'ом
document.write=function(html){writeArray.push(html)}
window.onload=function(){
  var el=document.createElement('div'); el.innerHTML=writeArray.join('');
  document.body.appendChild(el)
}


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

TicTac 08.11.2011 01:47

Спасибо большое еще раз.

TicTac 08.11.2011 02:59

тебе виднее твой же код:)

еще читаем плохо оказывается, отматываем на страницу назад и пытаемся осилить этот сплошной текст без картинок


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