js и IE8

Discussion in 'PHP' started by sl1k, 12 Jun 2012.

  1. sl1k

    sl1k Member

    Joined:
    31 Jul 2009
    Messages:
    106
    Likes Received:
    26
    Reputations:
    5
    Пытаюсь выполнить такой код
    PHP:
        var lnk='здесь линк';
        var 
    js=document.createElement('script');
        
    js.type='text/javascript';
        
    js.src=lnk;
        
    document.head.appendChild(js);
    IE ругается
    В хроме опере фаерфоксе выполняется нормально.
    Как заставить работать даный код в IE ?
     
    #1 sl1k, 12 Jun 2012
    Last edited: 12 Jun 2012
  2. Darth Padla

    Darth Padla Member

    Joined:
    21 Jun 2010
    Messages:
    141
    Likes Received:
    25
    Reputations:
    8
    попробуй прилепить скрипт не к head а к body.
    грязно,но что поделать
     
  3. Чакэ

    Чакэ Elder - Старейшина

    Joined:
    15 Aug 2010
    Messages:
    260
    Likes Received:
    66
    Reputations:
    62
    document.getElementsByTagName('head')[0] попробуй. и выполнение скрипта делай после загрузки страницы, чтобы DOM прорисовался.
     
  4. sl1k

    sl1k Member

    Joined:
    31 Jul 2009
    Messages:
    106
    Likes Received:
    26
    Reputations:
    5
    Спасибо, тож видел данное решение на одном забугорном форуме. Сегодня протестирую в IE 8 и ниже, и отпишусь.
     
  5. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    В принципе, Чакэ всё верно написал.
    Для удобства:
    PHP:

    function include(nameplace
    {
        var 
    th document.getElementsByTagName(place)[0];
        var 
    document.createElement('script');
        
    s.setAttribute('type','text/javascript');
        
    s.setAttribute('src'name);
        
    th.appendChild(s);
    }


    include(
    'http://site/js/script.js''head');  //пример инклуда
    Давно использовал такую фунцию.
    Соответственно, куда нужно, туда и пихаешь скрипт (head / body) - в зависимости от того, когда он должен выполниться.