Wpadłem na coś, czego nie spodziewałem się dzisiaj, usuwając część funkcji, która wcześniej była załadowana do mojego potoku aktywów, ale musiałem zostać wyodrębniony do częściowego dla jakiegoś A/Testowanie B.
Używam biblioteki bigVideo.js do załadowania pełnoekranowego filmu na stronę. BigVideo.js zaczął ładować nieprawidłowe wymiary dzisiaj, kiedy wyodrębniłem kod do częściowego. Częściowe obciążenia poniżej reszty zasobów javascript.
Poprzednio miałem kod zapakowany w anonimową funkcję wewnątrz mojego normalnego potoku aktywów.
oryginalny kod (praca)
$(function() {
(function() {
var bgVid = new $.BigVideo({useFlashForFirefox: false})
bgVid.show('http://videourl.com', { ambient : true });
}();
});
Następnie próbowałem ustawić tę zmienną równą tak mogę nazwać w częściowym. Rozpoczęło się ładowanie filmu bez użycia prawidłowych wymiarów.
$(function() {
var initVid = function() {
var bgVid = new $.BigVideo({useFlashForFirefox: false})
bgVid.show('http://videourl.com', { ambient : true });
};
w częściowej:
$(function() {
initVid();
});
Wyglądało to jak coś się dzieje z wymiarami DOM nie w pełni załadunku, więc próbowałem włączeniu funkcji coś takiego:
w częściowym :
$(window).load(function() {
var bgVid = new $.BigVideo({useFlashForFirefox: false});
bgVid.show('http://videourl.com', { ambient : true });
});
Nadal nie ma szczęścia.
Wreszcie, uciekają się do korzystania window.onload
window.onload = function() {
var bgVid = new $.BigVideo({useFlashForFirefox: false})
bgVid.show('http://videourl.com', { ambient : true });
};
To działa ?! Dlaczego więc $ (window) .load nie działa tutaj, a window.onload działa poprawnie?
Czy próbowałeś '$ (document) .ready (function() {})' lub '$ (window) .ready (function() {})'? – Nope
Nie załączyłeś go w '()' powinno być '$ (window) .load (function() {});' – vher2
$ (function() {}) jest identyczne z $ (document) .ready (funkcjonować(){}). – Paul