Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проблема с iframe в IE9
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Проблема с iframe в IE9

Страниц (1): [1]
 

1. Albertino - 01 Августа, 2011 - 11:23:54 - перейти к сообщению
Поблема заключается в следующем: есть функция на JS, которая создает iframe в котором открывается страница с flash плеером. Во всех браузерах кроме IE9(в остальных, те в IE 6,7,8 все нормально)работает нормально, а в IE9 почемуто iframe не создается, в чем может быть проблема?
Ну и собственно сам код:
CODE (javascript):
скопировать код в буфер обмена
  1. function play_video()
  2. {
  3.         if ((navigator.appName == "Microsoft Internet Explorer"))
  4.         {
  5.                 var iframe_el=document.createElement('<iframe frameborder=0>');
  6.                
  7.         }
  8.         else
  9.                 var iframe_el=document.createElement('iframe');
  10.  
  11.         iframe_el.setAttribute("width","<?=$video_width?>");
  12.         iframe_el.setAttribute("height","<?=$video_height?>");
  13.         iframe_el.setAttribute("src","video_player.php?v_id=<?=$_GET['id']?>&low=<?=$_GET['low']?>");
  14.         iframe_el.setAttribute("scrolling","no");
  15.         iframe_el.setAttribute("frameborder","0");
  16.         iframe_el.setAttribute("id","frame_player");
  17.  
  18.         document.getElementById('video_frame').appendChild(iframe_el);
  19. }
  20.  

ну и вызов этой функции:
CODE (html):
скопировать код в буфер обмена
  1. <div id="video_frame" style="position:relative;width:<?=$video_width?>px;height:<?=$video_height?>px;border:1px solid #eee;padding:0;">
  2. <script>
  3.   play_video();
  4. </script>
2. biperch - 01 Августа, 2011 - 12:41:39 - перейти к сообщению
а зачем тебе его в ифрейм закинь просто в какой то див через innerHTML
3. Albertino - 01 Августа, 2011 - 15:06:42 - перейти к сообщению
Проблему устранил следующим способом
CODE (javascript):
скопировать код в буфер обмена
  1. function play_video()
  2. {
  3.         if ((navigator.appName == "Microsoft Internet Explorer"))
  4.         {
  5.                 // добавил вот такое условие
  6.                 if(navigator.userAgent.indexOf("MSIE 9")!=-1){
  7.  
  8.                         var iframe_el=document.createElement('iframe');
  9.                 }
  10.                 else{
  11.                         var iframe_el=document.createElement('<iframe frameborder=0>');
  12.                 }
  13.                
  14.         }
  15.         else
  16.                 var iframe_el=document.createElement('iframe');
  17.  
  18.         iframe_el.setAttribute("width","<?=$video_width?>");
  19.         iframe_el.setAttribute("height","<?=$video_height?>");
  20.         iframe_el.setAttribute("src","video_player.php?v_id=<?=$_GET['id']?>&low=<?=$_GET['low']?>");
  21.         iframe_el.setAttribute("scrolling","no");
  22.         iframe_el.setAttribute("frameborder","0");
  23.         iframe_el.setAttribute("id","frame_player");
  24.  
  25.         document.getElementById('video_frame').appendChild(iframe_el);
  26. }
  27.  

Оказывается IE9 стал поддерживать спецификацию(или как это правильно обозвать), что и другие браузеры, прогрессируют однако))

 

Powered by ExBB FM 1.0 RC1