【问题标题】:Use JQuery SWF plugin in JSP在 JSP 中使用 JQuery SWF 插件
【发布时间】:2010-09-26 14:15:38
【问题描述】:

我使用了一个示例脚本,说明如何使用 JQuery SWF 插件 (http://jquery.thewikies.com/swfobject/examples) 加载 SWF 文件。我试图让插件在 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>

【问题讨论】:

    标签: java jquery jsp plugins flash


    【解决方案1】:

    您的 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:我删除了表格,因为它不完整,只会给演示增加噪音。

    【讨论】:

    • 不客气。不要忘记在您接受的问题上标记最有帮助的答案。另请参阅stackoverflow.com/faq
    【解决方案2】:

    您所要做的就是将您的 swfobject 版本更改为最新的 SWFObject 2.2

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

    这将解决 ie 问题

    试试

    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}); };
    

    【讨论】:

      猜你喜欢
      • 2011-10-26
      • 1970-01-01
      • 2016-07-19
      • 1970-01-01
      • 2014-12-02
      • 1970-01-01
      • 2013-02-03
      • 1970-01-01
      • 2011-09-23
      相关资源
      最近更新 更多