2014-11-05 2 views
0

У меня есть страница с iframe.Ошибка несоответствия типа на IE8?

IFrame находится в том же домене, что и проблемы с x-доменом.

Мне нужен iframe, чтобы скопировать часть его содержимого в родительский.

Так что я родительскую страницу с IFRAME, как так

... 
<div id="some-content"> 
    <iframe src="frame-1.html" style="display:none;"></iframe> 
</div> 
... 

И это каркасно-1.html

<!doctype html> 
<html lang="en"> 
<head> 
</head> 

<body> 
    <div name="content"> 
    <img src="http://placehold.it/300x250/ffffff/E8117F&text=from+frame+1" /> 
    </div> 
    <script> 
    (function() { 
     var content = document.getElementsByName("content")[0]; 
     var iframeName = this.name; 
     var iframeContainer = parent.document.getElementsByName(iframeName)[0].parentNode;0 
     iframeContainer.appendChild(content); 
    })(); 
    </script> 
</body> 
</html> 

Он отлично работает на современных браузерах, но не в IE8/9 ?

Я предполагаю, что несоответствие типа происходит от содержание переменная, не имеющая типа узла?

Кто-нибудь знает, что я делаю неправильно?

+0

какая ошибка вы получаете в консоли ?? – prog1011

+0

«Тип несоответствия» - это ошибка verbatim – spinners

+1

'name' не является поддерживаемым свойством' div' .. это, вероятно, почему у него проблемы –

ответ

1

Если у вас есть проблема с getElementsByName попробуйте вместо этого querySelectorAll. Он работает в IE8.

var content = document.querySelectorAll('[name="content"]')[0]; 

Селекторы CSS очень мощные, и IE8 поддерживает их достаточно, чтобы быть очень полезными.

Единственное требованием для выбора атрибута для работы в IE8 является использование доктайпа HTML5,

<!DOCTYPE html> 

, который - на старых браузерах - это проникнут в строгом HTML4.

+0

работал отлично, много спасибо – spinners

Смежные вопросы