2010-09-26 5 views
0

Я использовал пример сценария загрузки SWF-файла с помощью плагина JQuery SWF (http://jquery.thewikies.com/swfobject/examples). Я пытаюсь заставить плагин работать в JSP. Он работает в FireFox и Chrome, но не в IE8.Использование JQuery SWF-плагина в JSP

Может ли кто-нибудь увидеть какие-либо очевидные проблемы? Заранее спасибо.


<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <script type="text/javascript" src="js/jquery-1.4.2.js"></script> 
</head> 
<script type="text/javascript" src="js/jquery.swfobject.1-1-1.js"></script> 
<body> 
<script type="text/javascript"> 

var bar_chart = $.flash.create (
    { 
     swf: 'flash/open-flash-chart.swf', 
      width: 350, 
      height: 260, 
      wmode: 'transparent', 
      play: true, 
      flashvars: { 
       "get-data": "getChart1Data" 
      } 
    } 
); 

function getChart1Data() 
{ 
    return JSON.stringify(${chart1Data}); 
}; 

function ofc_ready() 
{ 
    /**/ 
}; 

$(document).ready(
    function() { 
     $('#bar_chart').html(bar_chart); 
    } 
); 
</script> 

<tr> 
    <td colspan="2"> 
    <table> 
     <tr> 
     <td> 
      <div id="bar_chart"></div> 
     </td> 
     </tr> 
    </table> 
    </td> 
</tr> 
</body> 
</html> 
+0

формат, который вы кодируете –

ответ

1

Все, что вам нужно сделать, это изменить SWFObject версии до последней SWFObject 2,2

<script type="text/javascript" src="js/jquery.swfobject.1-1-1.js"></script> 

Это исправит то есть вопрос

попробовать

flashMovie = null; 

$(document).ready(
    function() { 
     flashMovie = $('#bar_chart'); 
     flashMovie.flash(
      { 
     swf: 'flash/open-flash-chart.swf', 
     width: 350, 
     height: 260, 
     wmode: 'transparent', 
     play: true, 
     flashvars: { "get-data": "getChart1Data" } 
      } 
     ); 
    } 
); 

function getChart1Data() { return JSON.stringify(${chart1Data}); }; 
+0

Работает как шарм, спасибо –

+0

принимайте в качестве ответа, если это так :) –

4

Ваш HTML-код - syntactically invalid. Поведение браузера непредсказуемо.

Этот синтаксически действительный. Попробуйте.

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> 
<!DOCTYPE html> 
<html> 
    <head> 
     <title>Insert your title</title> 
     <script type="text/javascript" src="js/jquery-1.4.2.js"></script> 
     <script type="text/javascript" src="js/jquery.swfobject.1-1-1.js"></script> 
     <script type="text/javascript"> 
      var bar_chart = $.flash.create ({ 
       swf: 'flash/open-flash-chart.swf', 
       width: 350, 
       height: 260, 
       wmode: 'transparent', 
       play: true, 
       flashvars: { 
        "get-data": "getChart1Data" 
       } 
      }); 

      function getChart1Data() { 
       return JSON.stringify(${chart1Data}); 
      } 

      function ofc_ready() { 
       /**/ 
      } 

      $(document).ready(function() { 
       $('#bar_chart').html(bar_chart); 
      }); 
     </script> 
    </head> 
    <body> 
     <div id="bar_chart"></div> 
    </body> 
</html> 

PS: Я удалил стол, так как он неполный и только добавляет шум к демо.

+0

Вы гений. T'worked. –

+0

Ты гений - это сработало! - Спасибо за счет. –

+0

Добро пожаловать. Не забудьте отметить наиболее полезный ответ на ваши вопросы. См. Также http://stackoverflow.com/faq. – BalusC

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