Строка JavaScript заменяет проблему IE - PullRequest
0 голосов
/ 26 сентября 2011

Этот простой код отлично работает в FF и Chrome ... но не в IE8:

var pathtop = $('#autoplay').find('embed').attr('src');
pathtop = pathtop.replace('http://www.youtube.com/v/', '');

Дает:

'undefined' равен нулю или не является ошибкой объектав строке 2

Я также попробовал что-то вроде этого:

pathtop = pathtop.replace('', '');

и та же ошибка!

Я использую jQuery в этом проекте.

Ответы [ 2 ]

3 голосов
/ 26 сентября 2011

pathtop в IE, скорее всего, равен нулю, потому что цепочка jquery find / attr не удалась. Разделите его на части и выясните, какой слой ($ ('# autoplay'), .find() или .attr() возвращает ноль.

Необоснованное предположение - IE игнорирует теги встраивания в пользу <object>, поэтому в дереве DOM нет встраивания. и вы пытаетесь получить src объекта-несуществующего dom, делая pathtop пустым, что означает, что для него нет метода замены.

0 голосов
/ 26 сентября 2011

1001 * попробовать *

var pathtop = $('#autoplay').find('object').attr('src');
pathtop = pathtop.replace('http://www.youtube.com/v/', '');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...