Comments (24)
Я хотел закрыть #1 и #2, но у меня никак не хочет работать. ЧЯДНТ?
from includehtml.
У Вас объект test ещё не создан.
Дождитесь полной загрузки DOM.
Учите: https://learn.javascript.ru/onload-ondomcontentloaded
from includehtml.
@xmoonlight https://fedos.top/demo/index.html https://fedos.top/demo/test2.html
В документации ничего об этом не написано, так что не совсем очевидно, что нужно оборачивать в domloaded.
from includehtml.
@lgg, это общий случай, не нуждающийся в отдельном дополнительном документировании.
Чтобы правильно применять любые JS-функции к объектам, достаточно понимать загрузку веб-страницы браузером.
Еще раз говорю: учите: https://learn.javascript.ru/onload-ondomcontentloaded
from includehtml.
@xmoonlight я убрал там вообще js includeHTML, остались только теги, которые согласно документации должны подтягиваться автоматически.
А по поводу доп документирования - многие js плагины сами внутри себя вешают проверку на наличие элементы/прогрузку DOM'a.
from includehtml.
@lgg по-внимательнее пишите код: Вы там ошиблись:
include scr=
вместо src=
А по поводу доп документирования - если Вы загружаете JS-функцией, Вы сами должны контролировать процесс. А по многим js-плагинам: пример - в студию.
from includehtml.
@xmoonlight посыпаю голову пеплом.
К слову, у Вас в коде был биндинг на window.onload
событие, поменял на addEventListener, помогло.
from includehtml.
@xmoonlight вроде fotorama и fullpage,js так делают.
from includehtml.
К слову, у Вас в коде был биндинг на window.onload событие, поменял на addEventListener, помогло.
Возможно, т.к. я не во всех тестил.
А Вы в каком браузере тестили и обнаружили эту ошибку?
from includehtml.
@xmoonlight Chrome.
Вот пример: https://fedos.top/demo/
Там сейчас старая версия includeHTML.
from includehtml.
include scr=
from includehtml.
@xmoonlight da fuck ><
Поправил, а потом снова на старый пример откатился.
https://fedos.top/demo/
теперь src=
но onload перезаписывается.
from includehtml.
@lgg, ну если подменить=переопределить функцию - конечно не сработает.
так можно с любой сделать (+и событие так же переопределить)...
это не показатель.
from includehtml.
режим Append для window.onload:
var fn = window.onload;
window.onload = function() {
fn && fn() //если задана - исполняем.
/*
затем уже - всякие алерты!
*/
}
from includehtml.
@xmoonlight всё равно использовать биндинг функций через on
не есть гуд. Лучше, через addEventListener
from includehtml.
@lgg ок, Аргументируйте.
from includehtml.
@xmoonlight https://learn.javascript.ru/introduction-browser-events#недостаток-назначения-через-свойство
from includehtml.
@lgg в ответ я могу сказать: чтобы добиться кросс-браузерности с addEventListener - нужно около 60 строк кода и тучу условий внутри: http://javascript.info/tutorial/onload-ondomcontentloaded
А прописать window.onload в режиме Append: всего +2 строки (их надо дописать в имеющийся код!).
Поэтому этот вариант - предпочтительнее для уменьшения размера и кол-ва логических операций, что скажется на производительности и он будет работать быстрее.
from includehtml.
@xmoonlight addEventListener работает с IE9 же. Зачем кросс-браузерность на более старый версии?
from includehtml.
@xmoonlight кстати, вот почему у меня был scr вместо src
from includehtml.
кстати, вот почему у меня был scr вместо src
Блин, правил же предыдущую версию, а потом снова затянул с ошибкой с локальной папки.....
Поправил!
from includehtml.
addEventListener работает с IE9 же. Зачем кросс-браузерность на более старый версии?
Здесь речь даже не сколько про IE9, сколько про другие браузеры для мобил, SmartTV и телеприставок различных типов и направлений.
Т.е. я понял, что есть желание заменить на вот это:
All browsers except IE<9 support it.
document.addEventListener( "DOMContentLoaded", ready, false )
Тогда надо как-то совместить, если вдруг addEventListener - окажется недоступен.
Первым делом, разумеется, его проверяем.
http://caniuse.com/#feat=domcontentloaded
from includehtml.
@xmoonlight так вроде в том же самом caniuse написано, что все мобилки поддерживают его.
Тут скорее даже проблема не с самим плагином(что внутри него биндинг будет через window.onload), а с теми пользователями, которые будут сами что-то делать через window.onload и тогда вот они уже перекроют биндинг внутри плагина.
from includehtml.
Если они заменят после (как в твоём примере) - то да, затрут они.
Если до этого - то я прописал append-переброску и код плагина выполнит их код, а потом уже - свой и ничего не пропадёт.
Т.е. тот, кто использует window.onload должен:
- или юзать его однократно в коде страницы в любом месте (в плагине includeHTML уже 1 раз есть)
- или ставить выше загрузки кода плагина includeHTML (чтобы плагин делал прокидку событий)
- или не забывать делать Append в 2 строки, чтобы не затирать предыдущую инициализацию
По логике: этот плагин - первый JS-код, который должен появиться в момент вёрстки, так что если затрут - сразу заметят, что это их ошибка и поправят уже свой код.
from includehtml.
Related Issues (7)
- Честный sync HOT 4
- a = href don't response
- Add npm package HOT 2
- Загрузка блока по якорю HOT 1
- Anchor (#) navigation question [Resolved!] HOT 1
- Change license to MIT HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from includehtml.