open flash chart 版本是2.0使用加载js的方法获取flash chart,x现在的问题是,如果我在一个页面加载两个flash,一个bar,一个line,页面中显示的数据始终是第二个flash的数据(图也是第二个)代码如下:common.js:
view source
print?
001     function ofc_ready(){
002          //alert('ofc_ready');
003         }
004     function open_flash_chart_data(){
005          //alert( 'reading data' );
006          return JSON.stringify(data);
007         }
008          
009          
010         function findSWF(movieName) {
011           if (navigator.appName.indexOf("Microsoft")!= -1) {
012             return window[movieName];
013           } else {
014             return document[movieName];
015           }
016         }
017  
018      function createChart(json,header,col,type)
019      {  
020           data = {
021           "elements": [
022             {
023               "type": type,
024               "text": "u5317u4eac",
025               "values": [
026                 9.9355,
027                 18.2142,
028                 12.1315,
029                 11.9911,
030                 10.2637,
031                 24.152,
032                 35.8293,
033                 17.8541,
034                 17.1762,
035                 25.2105,
036                 24.9323,
037                 23.5468,
038                 22.7642,
039                 32.9232,
040                 30.6192,
041                 17.9746,
042                 26.1273,
043                 14.5226,
044                 17.3219,
045                 52.0837,
046                 22.1281,
047                 18.9674,
048                 8.3799,
049               ]
050             }
051           ],
052           "title": {
053             "text": header.title
054           },
055           "y_axis": {
056             "min": 0,
057             "max": 65,
058             "steps": 4
059           },
060           "x_axis": {
061             "steps":2,
062             "labels": {
063               "labels": [
064                 "01",
065                 "02",
066                 "03",
067                 "04",
068                 "05",
069                 "06",
070                 "07",
071                 "08",
072                 "09",
073                 "10",
074                 "11",
075                 "12",
076                 "13",
077                 "14",
078                 "15",
079                 "16",
080                 "17",
081                 "18",
082                 "19",
083                 "20",
084                 "21",
085                 "22",
086                 "23",
087               ]
088             }
089           },
090           "y_legend": {
091             "text": "chinaticket.com chart 1:10000",
092             "style": "color:#736AEF; font-size:14px;"
093           }
094         };
095         swfobject.embedSWF("../open-flash-chart.swf?r="+ Math.random() * 100000,header.id, "550", "400", "9.0.0");         
096      }
097  
098 2.test.html中的内容如下:
099 <html>
100 <head>
101 <script type="text/javascript" src="../js/json/json2.js"></script>
102 <script type="text/javascript" src="../js/swfobject.js"></script>
103 <script type="text/javascript" src="common.js"></script>
104 </head>
105 <body>
106 <div id="my_chart"></div>
107 <div id="my_chart2"></div>
108 <script type="text/javascript">
109 var json={"values":[
110                     {"date":"2001","value":"22"},
111                     {"date":"2002","value":"32"},
112                     {"date":"2003","value":"52"},
113                     {"date":"2004","value":"72"}
114    ]}
115 var header={"title":"bar-chart","id":"my_chart"};
116 var header2={"title":"line-chart","id":"my_chart2"};
117  
118 var col={"x":"日期","y":"访问量"};
119 createChart(json,header,col,"bar");
120 //alert("aaaa");
121 createChart(json,header2,col,"line");
122 </script>
123 </body>
124 </html> 
125  
126 因刚刚测试,故没有把json数据传入呢,暂时使用同样的数据。可是为什么两个图表显示的都是第二个图表的样式呢?不是应该一个bar图,一个line图的么?求高手解答

解决方案 »

  1.   

    修改:
    swfobject.embedSWF("../open-flash-chart.swf?r="+ Math.random() * 100000,header.id, "550", "400", "9.0.0","expressInstall.swf",{"get-data":data});
      

  2.   

    注意expressInstall.swf的路径
      

  3.   

    请问 expressInstall.swf在哪里?
    我的解压包里找不到这个swf文件
      

  4.   

    把你的打个包发我邮箱,给我看看。 [email protected]
      

  5.   

    检测了下,是多个flash使用同一个回调函数的原因,如果为每个flash专门写一个回调函数就不会出现这个问题。但是这样扩展性差,唔,所以还是用data-filen那种格式了。
      

  6.   

    hello,这位兄台,怎么弄啊~
    var flashvars1 = {"data-file":"showResult!showPieChartByResponsibility.action"};  
         var params1 = {menu: "false",scale: "noScale",wmode:"opaque"};  
         swfobject.embedSWF("js/open-flash-chart.swf", "resRisk", "600px", "400px", "9.0.0",  
         "expressInstall.swf",flashvars1,params1);
         var flashvars2 = {"data-file":"showResult!showBarChartByResponsibility.action"};  
         var params2 = {menu: "false",scale: "noScale",wmode:"opaque"};  
         swfobject.embedSWF("js/open-flash-chart.swf", "topRes", "600px", "400px", "9.0.0",  
         "expressInstall.swf",flashvars2,params2);
    <div id="resRisk"></div>
    <div id="topRes"></div>