2016-01-14 4 views
0

Поэтому у меня есть следующий код:Огонь OnLoad событие, когда скрипт загружен

$.proxy(function(responseData) { 
        if (responseData.hasOwnProperty('dynamicJavascriptUrl')) { 
         var script = document.createElement('script'); 
         script.src = responseData.dynamicJavascriptUrl; 
         script.load = function() { 
          console.log('hello'); 
         } 
         $('#credit_card').append($(script)); 
        } 

А что я пытаюсь сделать здесь, чтобы войти привет, когда скрипт загружен. Но он, похоже, не работает.

Я попытался это так:

script.onload = function() { 
          console.log('hello'); 
         } 

Но с тем же результатом.

У кого-нибудь есть идея, что делать?

+0

попытался это? http://stackoverflow.com/a/16231055/1984039 – gurvinder372

+0

Обязательно должен быть 'script.onload', а не' script.load' или bind с помощью jQuery '$ (script) .on ('load', handler); '. И ya, установите событие onload перед установкой свойства src. Но подождите, что такое '$ .proxy' здесь? JQuery не передает какой-либо параметр callaback: https://api.jquery.com/jQuery.proxy/ –

+0

Попробуйте использовать https://api.jquery.com/jquery.getscript/ – Satpal

ответ

2

Попробуйте этот код

jQuery.loadScript = function (url, callback) { 
    jQuery.ajax({ 
     url: url, 
     dataType: 'script', 
     success: callback, 
     async: true 
    }); 
} 

$.loadScript('dynamicJavascriptUrl.js', function(){ 
    console.log('hello'); 
}); 
+2

Почему не простой и предопределенный '$ .getScript()'? https://api.jquery.com/jquery.getscript/ – Satpal

+0

jQuery '$ .getScript()' иногда бывает багги ... Поэтому я использую свою собственную реализацию, –

+0

недооцененный ответ^ Вы также должны управлять кешем , но его классный раствор – PRDeving

Смежные вопросы