Использование nickf
пример найден here Я создал элемент, чтобы взломать замену iframe на сайте, который отображается в IE7. Это короткий промежуток времени, пока все компьютеры в офисе не будут обновлены до IE8, поэтому мы не будем беспокоиться о серверном решении.Созданный jQuery элемент, не работающий в IE7
Цель состоит в том, чтобы использовать код для встраивания YouTube и преобразовать его в старый код для встраивания без необходимости заменять каждое отдельное видео на сайте.
var w = $('iframe').width(),
h = $('iframe').height(),
src = $('iframe').attr('src').split('/')[4];
$('iframe').after('<div class="iframediv"></div>');
$('<object></object>', {width: w, height: h})
.append($('<param />', {name: "movie", value: "http://www.youtube.com/v/" + src + "?hl=en_US&version=3"}))
.append($('<param />', {name: "allowFullScreen", value: "true"}))
.append($('<param />', {name: "allowscriptaccess", value: "always"}))
.append($('<embed />', {src: "http://www.youtube.com/v/" + src + "?hl=en_US&version=3", type: "application/x-shockwave-flash", width: w, height: h, allowscriptaccess: "always", allowfullscreen: "true"}))
.appendTo($('.iframediv'));
рабочий пример этого кода можно найти здесь на jsfiddle
Что у меня возникают проблемы с является созданный элемент не работает в IE7. Кажется, что код создания <object>
сломан и приводит к тому, что jQuery перестает работать, но в Chrome он работает отлично. Я не уверен, есть ли конкретное обходное решение IE7, которое мне нужно для этого?
Редактировать: Я намеренно ушел из линии $('iframe').remove();
для тестирования на данный момент.
Edit: Мой фикс -
if($('html').hasClass('ie7'))
{
var w = $('iframe').width(),
h = $('iframe').height(),
ytsrc = $('iframe').attr('src').split('/')[4];
$('iframe').after('<div class="iframediv"></div>');
$('<embed />', {width: w, height: h, src: "http://www.youtube.com/v/" + ytsrc + "?hl=en_US&version=3", type: "application/x-shockwave-flash", allowfullscreen: "true", allowscriptaccess: "always"}).appendTo($('.iframediv'));
$('iframe').remove();
}
Вы пытались создать '
Я предлагаю создать объект/встраивание с помощью одного вызова '$ .parseHTML (htmlstring)' –
В настоящее время работает над вычислением этого ... еще не знакомы с jQuery или Javascript, но спасибо вам за предложения , – MacSalty