- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Привет, как реализовать проверку загруженности внешнего скрипта на JS? Чтобы после его создания и вставки в документ он проверялся на работоспособность и если еще не готов, то проверялся снова. Сейчас я тупо откладываю на секунду выполнение зависящей от него функции с помощью setTimeout, но вдруг у кого-то он за это время все равно не успеет.
Это не пробовали?
https://learn.jquery.com/using-jquery-core/document-ready/
LEOnidUKG, надо на ванильном JS, из-за пары строчек кода не хочется жквери подключать.
Ну ГУГЛ ЖЕ ЕСТЬ:
https://learn.javascript.ru/onload-ondomcontentloaded
Типа такого?
http://beeker.io/jquery-document-ready-equivalent-vanilla-javascript
LEOnidUKG, читал, но мне событие нужно по клику, а не после загрузки страницы.
Типа такого?
Ага, спасибо. Надо только тоже подумать как на клик это повесить.
А сразу загрузить не представляется возможным?
Тогда опять вам в гугл:
https://learn.javascript.ru/onload-onerror
Написано как загружать скрипты с проверками и т.д.
Представяется, но не нужно, мне для виджетов вконтакта, чтобы они открывались только тем, кому надо и не тащили каждый раз все апи.
И как событие onload повесить на клик я понимаю, не знаю как правильно сделать цикл, который бы проверял это событие до тех пор пока оно не сработает и не давал выполнять дальнейший код.
Представяется, но не нужно, мне для виджетов вконтакта, чтобы они открывались только тем, кому надо и не тащили каждый раз все апи.
И как событие onload повесить на клик я понимаю, не знаю как правильно сделать цикл, который бы проверял это событие до тех пор пока оно не сработает и не давал выполнять дальнейший код.
Какое событие?! Там же написано:
Оно сработает, когда скрипт загрузился и выполнился.
Блин, это меня коротнуло, спасибо!
Так и не понял - нашли решение или нет, но, например, с комментариями ВК я делал вот так:
<script type="text/javascript">
function start(){
VK.init({apiId: 2900000, onlyWidgets: true});
VK.Widgets.Comments("vk_comments", {limit: 5, width: "496", attach: "*"});
}
</script>
<script async onload="start();" type="text/javascript" src="//vk.com/js/api/openapi.js?116"></script>
При загрузке скрипта стартует его запуск. В принципе, это все. :)
Для виджета групп все делается 1 в 1:
<div id="vk_groups" style="padding-bottom: 5px;"></div>
<script type="text/javascript">
function start4(){
VK.Widgets.Group("vk_groups", {mode: 1, width: "160", height: "100", color1: 'FFFFFF', color2: '2B587A', color3: '5B7FA6'}, 88000000);
}
</script>
<script async onload="start4();" type="text/javascript" src="//vk.com/js/api/openapi.js?116"></script>
По идее, сам скрипт может быть вообще в футере сайта. А вызов идти через start1(); start2(); start3(); к разным виджетам.
Единственное, не тестировал возможность работы с onclick. Есть подозрение, что может не сработать. Но, если что, виджет всегда можно заменить картинкой со ссылкой на подписку :)