2013-06-11 3 views
2

Когда я пытаюсь получить, например, все изображения с помощьюполучить сценарии от имени тега под IE 8

getElementsByTagName('img'); 

нет никаких проблем, но когда я пытаюсь получить все скрипты

getElementsByTagName('script'); 

функцию возвращает пустое значение. Эта проблема существует только в IE8.

Любые предложения?

+0

Это просто дикое предположение, но являются тегами сценария в тегах или теги? Я не знаю, имеет ли это какое-либо отношение к проблеме, но это возможность? –

ответ

-1

Я проверил его, и это работает отлично во всех браузерах.

getElementsByTagName('script') вернуть объект. Для chrome он возвращается как NodeList[], тогда как в IE8 он возвращается как [object HTMLCollection].

Я не уверен, пытаетесь ли вы получить доступ к src из script, который используется в вашем проекте. Если да, попробуйте приведенный ниже код

window.onload=function() { 
    var scripts = document.getElementsByTagName("script"); 
    for (var i=0;i<scripts.length;i++) { 
    if (scripts[i].src) console.log(i,scripts[i].src) 
    else console.log(i,scripts[i].innerHTML) 
    } 
} 

Reference.

+0

Да, это * должно * работать так; однако в IE8 у меня есть случай, когда 'document.getElementsByTagName ('script')' приводит к набору встроенных скриптов 's, но он не может возвращать' 'скрипт'''' с' 'src'' внешней. –