У меня есть загрузка iframe путем добавления сценариев динамически. Но получение ошибки Reference как $ не определено
Я вызываю функцию после добавления скрипта 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>
2 ответа
Решение
Я думал, что это не проблема. это должно быть сделано на уровне примера, так как вы добавили внешний скрипт напрямую, не дожидаясь загрузки его из cdn.
https://humanwhocodes.com/blog/2009/07/28/the-best-way-to-load-external-javascript/
Благодаря JavaScript выполняется asynchronously
ваш скрипт не может быть загружен до того, как JS попытается использовать объект jQuery и для этого $ is not defined
, Вам нужно использовать что-то вроде promises
,
Эта ссылка может помочь вам:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise