Я вызываю функцию после добавления скрипта jquery. но все же я получаю справочную ошибку

<script>
    window.onload = function(){
        AddScript("https://cdn.syncfusion.com/js/assets/external/jquery-1.11.3.min.js");

        $(function () { //Error throws while executing this line
            //My code here
        });
    }

    function AddScript(source)
   {
      var head= document.getElementsByTagName('head')[0];
      var script= document.createElement('script');
      script.src= source;
      head.appendChild(script);
   }
</script>
0
vinoth-kumar-s 24 Сен 2018 в 15:07

2 ответа

Лучший ответ

Я думал, это не проблема. это должно быть обработано на уровне выборки, поскольку вы добавили внешний скрипт напрямую, не дожидаясь его загрузки с cdn.

https://humanwhocodes.com/blog/2009/07/28/the-best-way-to-load-external-javascript/

0
M K 24 Сен 2018 в 12:52

Поскольку выполняется JavaScript asynchronously, ваш сценарий не может быть загружен до того, как JS попытается использовать объект jQuery и для этого $ is not defined. Вам нужно использовать что-то вроде promises.

Эта ссылка может помочь вам:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise

0
messerbill 24 Сен 2018 в 12:14