eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.wwwProblem z ładowaniem się strony
Ilość wypowiedzi w tym wątku: 9

  • 1. Data: 2013-08-28 20:54:56
    Temat: Problem z ładowaniem się strony
    Od: Marek <p...@s...com>

    Witam,

    Wcisnąłem na stronę reklamę programu partnerskiego. Jest to odwołanie do
    skryptu JS (<script src=...>), który kończy się poleceniem write(html).
    Sęk w tym, że serwer reklamodawcy jest bardzo wolny i czasem 30 sekund
    trzeba na odpowiedź czekać. Blokuje mi to działanie moich skryptów na
    stronie i powstaje sieczka. Dopisałem więc atrybut async do elementu
    script. Dało to tylko efekt, ze reklama zniknęła. Czy macie pomysł jak
    załadować taki skrypt asynchronicznie a efekt jego działania umieścić w
    konkretnym DIVie?

    --
    Pozdrawiam
    Marek


  • 2. Data: 2013-08-29 13:00:58
    Temat: Re: Problem z ładowaniem się strony
    Od: c...@g...com

    W dniu środa, 28 sierpnia 2013 20:54:56 UTC+2 użytkownik Marek napisał:
    > Witam,
    >
    >
    >
    > Wcisnąłem na stronę reklamę programu partnerskiego. Jest to odwołanie do
    >
    > skryptu JS (<script src=...>), który kończy się poleceniem write(html).
    >
    > Sęk w tym, że serwer reklamodawcy jest bardzo wolny i czasem 30 sekund
    >
    > trzeba na odpowiedź czekać. Blokuje mi to działanie moich skryptów na
    >
    > stronie i powstaje sieczka. Dopisałem więc atrybut async do elementu
    >
    > script. Dało to tylko efekt, ze reklama zniknęła. Czy macie pomysł jak
    >
    > załadować taki skrypt asynchronicznie a efekt jego działania umieścić w
    >
    > konkretnym DIVie?

    Niestety, ale ładowanie <scipt>-ów generalnie blokuje przeglądarkę dopóki zawartość
    nie zostanie ściągnięta i wykonana. Aczkolwiek, można to "naprawić" poprzez
    utworzenie dynamicznie elementu <script>, np. tak:

    var s = document.createElement('script'),
    elm = document.getElementById('test'); // Tutaj ID Twojego elementu div

    // s.type = 'text/javascript'; // jeśli używasz HTML5 to możesz atrybut "type"
    pominąć
    s.src = 'tutaj URL do script-u';
    if (elm){
    elm.appendChild(elm);
    }

    W ten sposób ładowanie zawartości z zewnętrznego serwisu nie będzie blokowało
    ładowania reszty strony.

    Możesz jeszcze utworzyć <iframe> i tam załadować zewnętrzny kod bez blokowania
    ładowania strony. Aczkolwiek przy iframie należałoby sprawdzić czy zewnętrzny kod
    działa prawidłowo i czy są oczekiwane rezultaty. Przykładowo cookies z witryn
    "trzecich" są blokowane przez niektóre przeglądarki jak Firefox 22 czy Safari 6.

    --
    Cezary Tomczyk
    http://www.ctomczyk.pl/


  • 3. Data: 2013-08-29 16:25:47
    Temat: Re: Problem z ładowaniem się strony
    Od: Cezary Tomczyk <c...@g...com>

    On 2013-08-29 13:00, c...@g...com wrote:
    > W dniu środa, 28 sierpnia 2013 20:54:56 UTC+2 użytkownik Marek napisał:
    >> Witam,
    >>
    >>
    >>
    >> Wcisnąłem na stronę reklamę programu partnerskiego. Jest to odwołanie do
    >>
    >> skryptu JS (<script src=...>), który kończy się poleceniem write(html).
    >>
    >> Sęk w tym, że serwer reklamodawcy jest bardzo wolny i czasem 30 sekund
    >>
    >> trzeba na odpowiedź czekać. Blokuje mi to działanie moich skryptów na
    >>
    >> stronie i powstaje sieczka. Dopisałem więc atrybut async do elementu
    >>
    >> script. Dało to tylko efekt, ze reklama zniknęła. Czy macie pomysł jak
    >>
    >> załadować taki skrypt asynchronicznie a efekt jego działania umieścić w
    >>
    >> konkretnym DIVie?
    >
    > Niestety, ale ładowanie <scipt>-ów generalnie blokuje przeglądarkę dopóki zawartość
    nie zostanie ściągnięta i wykonana. Aczkolwiek, można to "naprawić" poprzez
    utworzenie dynamicznie elementu <script>, np. tak:
    >
    > var s = document.createElement('script'),
    > elm = document.getElementById('test'); // Tutaj ID Twojego elementu div
    >
    > // s.type = 'text/javascript'; // jeśli używasz HTML5 to możesz atrybut "type"
    pominąć
    > s.src = 'tutaj URL do script-u';
    > if (elm){
    > elm.appendChild(elm);

    elm.appendChild(s);

    > }
    >
    > W ten sposób ładowanie zawartości z zewnętrznego serwisu nie będzie blokowało
    ładowania reszty strony.
    >
    > Możesz jeszcze utworzyć <iframe> i tam załadować zewnętrzny kod bez blokowania
    ładowania strony. Aczkolwiek przy iframie należałoby sprawdzić czy zewnętrzny kod
    działa prawidłowo i czy są oczekiwane rezultaty. Przykładowo cookies z witryn
    "trzecich" są blokowane przez niektóre przeglądarki jak Firefox 22 czy Safari 6.

    --
    Cezary Tomczyk
    http://www.ctomczyk.pl/


  • 4. Data: 2013-08-30 12:04:17
    Temat: Re: Problem z ładowaniem się strony
    Od: Marek <p...@s...com>

    W dniu 2013-08-29 13:00, c...@g...com pisze:

    >
    > Niestety, ale ładowanie <scipt>-ów generalnie blokuje przeglądarkę
    > dopóki zawartość nie zostanie ściągnięta i wykonana. Aczkolwiek,
    > można to "naprawić" poprzez utworzenie dynamicznie elementu <script>,

    Sprytne! Zaraz to wdrożę. Dzięki! :-)


    --
    Pozdrawiam
    Marek


  • 5. Data: 2013-08-31 12:55:41
    Temat: Re: Problem z ładowaniem się strony
    Od: Paweł Piskorz <n...@p...nie.invalid>

    W dniu 2013-08-29 13:00, c...@g...com pisze:
    > W dniu środa, 28 sierpnia 2013 20:54:56 UTC+2 użytkownik Marek napisał:
    >> Witam,
    >>
    >> Wcisnąłem na stronę reklamę programu partnerskiego. Jest to odwołanie do
    >> skryptu JS (<script src=...>), który kończy się poleceniem write(html).
    [8<]
    >
    > Niestety, ale ładowanie <scipt>-ów generalnie blokuje przeglądarkę dopóki zawartość
    nie zostanie ściągnięta i wykonana. Aczkolwiek, można to "naprawić" poprzez
    utworzenie dynamicznie elementu <script>, np. tak:
    >
    > var s = document.createElement('script'),
    > elm = document.getElementById('test'); // Tutaj ID Twojego elementu div
    >
    > // s.type = 'text/javascript'; // jeśli używasz HTML5 to możesz atrybut "type"
    pominąć
    > s.src = 'tutaj URL do script-u';
    > if (elm){
    > elm.appendChild(elm);
    > }

    Czasem document.write wywołane już po załadowaniu strony mu jej
    kompletnie nie nadpisze?


    --
    message[autor="PablO"]::after {
    content:"Pozdrawiam";
    }


  • 6. Data: 2013-08-31 16:16:29
    Temat: Re: Problem z ładowaniem się strony
    Od: Cezary Tomczyk <c...@g...com>

    On 2013-08-31 12:55, Paweł Piskorz wrote:
    > W dniu 2013-08-29 13:00, c...@g...com pisze:
    >> W dniu środa, 28 sierpnia 2013 20:54:56 UTC+2 użytkownik Marek napisał:
    >>> Witam,
    >>>
    >>> Wcisnąłem na stronę reklamę programu partnerskiego. Jest to odwołanie do
    >>> skryptu JS (<script src=...>), który kończy się poleceniem write(html).
    > [8<]
    >>
    >> Niestety, ale ładowanie <scipt>-ów generalnie blokuje przeglądarkę
    >> dopóki zawartość nie zostanie ściągnięta i wykonana. Aczkolwiek, można
    >> to "naprawić" poprzez utworzenie dynamicznie elementu <script>, np. tak:
    >>
    >> var s = document.createElement('script'),
    >> elm = document.getElementById('test'); // Tutaj ID Twojego
    >> elementu div
    >>
    >> // s.type = 'text/javascript'; // jeśli używasz HTML5 to możesz
    >> atrybut "type" pominąć
    >> s.src = 'tutaj URL do script-u';
    >> if (elm){
    >> elm.appendChild(elm);
    >> }
    >
    > Czasem document.write wywołane już po załadowaniu strony mu jej
    > kompletnie nie nadpisze?

    "Nadpisze" czego?

    --
    Cezary Tomczyk
    http://www.ctomczyk.pl/


  • 7. Data: 2013-09-02 11:17:58
    Temat: Re: Problem z ładowaniem się strony
    Od: NotBear <p...@i...pl>

    W dniu 2013-08-29 16:25, Cezary Tomczyk pisze:
    >> Aczkolwiek, można
    >> to "naprawić" poprzez utworzenie dynamicznie elementu <script>, np. tak:

    Uprasza sie o sprzatanie po sobie ;-)
    Np. tak:

    (function(){
    var s = document.createElement('script');
    s.src = 'test.js';
    elm = document.getElementById('test');
    if (elm){elm.appendChild(s);}
    })();


    >> Możesz jeszcze utworzyć <iframe> i tam załadować zewnętrzny kod bez
    >> blokowania ładowania strony. Aczkolwiek przy iframie należałoby
    >> sprawdzić czy zewnętrzny kod działa prawidłowo i czy są oczekiwane
    >> rezultaty.

    To prawda, ale jest troche sposobow, zeby problem ominac.


    >> Przykładowo cookies z witryn "trzecich" są blokowane przez
    >> niektóre przeglądarki jak Firefox 22 czy Safari 6.

    Mozilla odsunela wprowadzenie domyslnego blokowania do czasu opracowania
    lepszego rozwiazania, bo mieli za duzo problemow z rozpoznawaniem kiedy
    blokowac. Nadal trzeba sobie te opcje wlaczyc recznie.


    --
    NotBear


  • 8. Data: 2013-09-02 22:23:20
    Temat: Re: Problem z ładowaniem się strony
    Od: Cezary Tomczyk <c...@g...com>

    On 2013-09-02 11:17, NotBear wrote:
    > W dniu 2013-08-29 16:25, Cezary Tomczyk pisze:
    >>> Aczkolwiek, można
    >>> to "naprawić" poprzez utworzenie dynamicznie elementu <script>, np. tak:
    >
    > Uprasza sie o sprzatanie po sobie ;-)
    > Np. tak:
    >
    > (function(){
    > var s = document.createElement('script');
    > s.src = 'test.js';
    > elm = document.getElementById('test');
    > if (elm){elm.appendChild(s);}
    > })();

    Można i tak:

    function insertScript() {
    var s = document.createElement('script'),
    elm =
    document.getElementById('id_elementu_gdzie_bedzie_sc
    ript_code');
    s.src = 'test.js';
    if (elm){
    elm.appendChild(s);
    return true;
    }
    return false;
    };

    Po zakończeniu wykonania funkcji:

    * garbage collector posprząta sam
    * można sprawdzić warunek if (insertScript()) i odpowiednio obsłużyć
    sobie ewentualny błąd, bo np. "elm" nie istnieje i chcemy o tym wiedzieć :-)

    >>> Możesz jeszcze utworzyć <iframe> i tam załadować zewnętrzny kod bez
    >>> blokowania ładowania strony. Aczkolwiek przy iframie należałoby
    >>> sprawdzić czy zewnętrzny kod działa prawidłowo i czy są oczekiwane
    >>> rezultaty.
    >
    > To prawda, ale jest troche sposobow, zeby problem ominac.

    Owszem.

    >>> Przykładowo cookies z witryn "trzecich" są blokowane przez
    >>> niektóre przeglądarki jak Firefox 22 czy Safari 6.
    >
    > Mozilla odsunela wprowadzenie domyslnego blokowania do czasu opracowania
    > lepszego rozwiazania, bo mieli za duzo problemow z rozpoznawaniem kiedy
    > blokowac. Nadal trzeba sobie te opcje wlaczyc recznie.

    Ale w Safari 6 nadal jest ta opcja domyślnie włączona.

    --
    Cezary Tomczyk
    http://www.ctomczyk.pl/


  • 9. Data: 2013-09-09 10:37:53
    Temat: Re: Problem z ładowaniem się strony
    Od: Paweł Piskorz <n...@p...nie.invalid>

    W dniu 2013-08-31 16:16, Cezary Tomczyk pisze:
    > On 2013-08-31 12:55, Paweł Piskorz wrote:
    >> Czasem document.write wywołane już po załadowaniu strony mu jej
    >> kompletnie nie nadpisze?
    >
    > "Nadpisze" czego?

    "jej" czyli strony.


    --
    message[autor="PablO"]::after {
    content:"Pozdrawiam";
    }

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: