Используйте плагин JQuery SWF в JSP - PullRequest
0 голосов
/ 26 сентября 2010

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

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


<%@ 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>

Ответы [ 2 ]

4 голосов
/ 26 сентября 2010

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

Это синтаксически допустимо.Попробуйте.

<%@ 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: я удалил таблицу, так как она неполная и только добавляет шума в демонстрацию.

1 голос
/ 26 сентября 2010

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

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

Это решит проблему, т. Е. Проблема

try

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}); };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...