Mam to:

script_url = 'http://externaldomain.com/script.js'
div_id = 'div'+Math.floor(Math.random() * 1000000);
document.write('<div id="'+div_id+'"><scr'+'ipt id="banner-to-load"></scr'+'ipt></div>')

Po przygotowaniu DOM robię to:

$('#banner-to-load').attr('src',script_url)

Teraz script_url dołączony, ale nic się nie dzieje. Skrypt zewnętrzny ma kilka funkcji i {X1}}, ale nie działają. Jak mogę uruchomić zewnętrzny skrypt? Albo jeśli uruchomię to document.write wewnątrz odbuduje mój już skompilowany dom?

1
rsboarder 7 listopad 2011, 15:56

3 odpowiedzi

Najlepsza odpowiedź

Spróbuj ustawić SRC przed dodaniem go i sprawdzenie ponownie swój script_url.

document.write('<div id="'+div_id+'"><script '
  +'id="banner-to-load" src="' + script_url + '"></scr'+'ipt></div>')

Aktualizacja : lub wykonaj zapytanie AJAX Domain Domain. Jeśli kontrolujesz drugą stronę, możesz zezwolić na zapytania domeny Cross, ustawiając "Access -Control-pozwala nagłówek "nagłówek.

1
PiTheNumber 7 listopad 2011, 12:10

Atrybut SRC nie jest ładowany asynchronicznie. Załaduj JS z AJAX

$.getScript(); or $.ajax({url:source, dataType: "script"});

Spojrzeć tutaj http://api.jquery.com/jquery.getScript/

2
John 7 listopad 2011, 12:02

Spróbuj dołączyć banner_to_load do obiektu ciała

1
Michael Sazonov 7 listopad 2011, 12:00