03.02.2020, 17:48
|
Аспирант
|
|
Регистрация: 13.07.2018
Сообщений: 34
|
|
Подключение import в js коде
Добрый день всем. Скажите как правильно и можно ли подключить с удаленного репозитория js в самом js файле .
Например есть //web.com/js.js
есть в сайте подключения к main.js в самом main.js как можно подключить //web.com/js.js ?
|
|
03.02.2020, 18:37
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
|
|
04.02.2020, 07:00
|
|
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Poznakomlus, я вам не рекомендую использовать https://requirejs.org/, поскольку он заставляет писать нестандартный код. И тем более в JS есть понятие модуля (ключеные слова import и export) https://requirejs.org/ выглядит как костыль!
Сообщение от zava75
|
есть в сайте подключения к main.js в самом main.js как можно подключить https://web.com/js.js?
|
Если https://web.com/js.js ведёт к модулю, который что-то экспортирует, то вы можете его подключить при помощи ключевого слова import. Например...
файл main.js
import myObject from "https://web.com/js.js";
// тут можно использовать ваш myObject
(Если вам нужна поддержка старых браузеров, то вы можете использовать parcel)
Если https://web.com/js.js ведёт к файлу, который содержит скрипт, который объявляет что-то глобально (и ничего не экспортирует), то вы можете его подключить при помощи функции import. Например...
файл main.js
import("https://web.com/js.js").then(() => {
// тут можно использовать ваш глобальный объект
});
Последний раз редактировалось Malleys, 04.02.2020 в 08:45.
|
|
04.02.2020, 12:31
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
Malleys,
Он был одно время популярен и в нем была возможность работы с разными типами модулей. Рейтинг 12,4 k GitHub
То, что вы рекомендуете оправдано в разаработке современных разработок откидывая старые версии броузеров
Когда то import небыло, тем более parcel. И сейчас совместимость с браузерами бывает отталкивает.
Ранее использовал нечто подобное
var loader = (function (src, callback) {
var doc = window.document, cache = {};
return function (src, callback) {
if (cache.hasOwnProperty(src)) {
callback && (callback());
} else {
var el = doc.createElement('script'), loaded = 0;
el.src = src, doc.body.appendChild(el), cache[src] = 1;
if (callback) {
el.onload = el.onreadystatechange = function () {
if ((el.readyState && el.readyState !== 'complete' && el.readyState !== 'loaded') || loaded)
return false;
el.onload = el.onreadystatechange = null, loaded = 1, callback();
};
}
}
};
}());
loader('test1.js', me);
function me() {
alert('This callback Me');
}
Последний раз редактировалось Vlasenko Fedor, 04.02.2020 в 12:38.
|
|
04.02.2020, 12:47
|
|
Профессор
|
|
Регистрация: 03.02.2020
Сообщений: 2,750
|
|
Если постоянно думать о браузерах 5-ти летней давности и старше, то почти ни чем нельзя пользоваться.
|
|
04.02.2020, 12:54
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
voraa,
это да, но вебкомпоненты в пример мы ждем очень долго иначе большинство фреймворков пошло в утиль
зачастую перед разработкой смотрят процент использования браузеров и ставят в версси тз минимальные значения.
и есть полифилы, и RequireJS works in IE 6+, Firefox 2+, Safari 3.2+, Chrome 3+, and Opera 10+.
|
|
04.02.2020, 13:15
|
|
Профессор
|
|
Регистрация: 03.02.2020
Сообщений: 2,750
|
|
Сообщение от Poznakomlus
|
voraa,
IE 6+, Firefox 2+, Safari 3.2+, Chrome 3+, and Opera 10+.
|
И каков % таких браузеров?
|
|
04.02.2020, 13:22
|
|
Профессор
|
|
Регистрация: 03.02.2020
Сообщений: 2,750
|
|
Мне кажется, что сознательная ориентация на старье не побуждает пользователей обновлять браузеры.
По мне нормально, если разработчик ориентируется на сегодня - 3 года.
Если на платформе существуют хотя бы пара браузеров, которые поддерживают технологию или api, то на них и нужно ориентироваться.
|
|
04.02.2020, 13:31
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
Сообщение от voraa
|
не побуждает пользователей обновлять браузеры
|
есть sandbox системы
вы спрашиваете процент старых браузеров, я привел данные из документации это минимальные версии браузеров
Сообщение от voraa
|
на платформе существуют хотя бы пара браузеров
|
здесь не понял совсем
понятно, что все мы разрабатываем с учетом современных технологий, но если стоит задача поддержка старых версий то это да решение
|
|
04.02.2020, 13:40
|
|
Профессор
|
|
Регистрация: 03.02.2020
Сообщений: 2,750
|
|
[quote=Poznakomlus;519616
здесь не понял совсем
[/QUOTE]
Зачем ориентироваться на ИЕ6-11, Когда в Винде есть Хром, Опера, Лис? Совершенно бесплатные.
И почему ИЕ6, а не ИЕ4 или НетскэйпНавигатор
Ну представьте, если бы производители игр (или более нужных программ) ориентировались на Вин-95 на Пентиуме-4? Но сайтопрограммеры почему то принуждают себя (или принуждаются) к этому.
|
|
|
|