[align=center]
swfobject.js /** * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/ * * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License: * http://www.opensource.org/licenses/mit-license.php * */ if(typeof deconcept == "undefined") var deconcept = new Object(); if(typeof deconcept.util == "undefined") deconcept.util = new Object(); if(typeof deconcept.SWFObjectUtil == "undefined") deconcept.SWFObjectUtil = new Object(); deconcept.SWFObject = function(swf, id, w, h, ver, c, quality, xiRedirectUrl, redirectUrl, detectKey) { if (!document.getElementById) { return; } this.DETECT_KEY = detectKey ? detectKey : 'detectflash'; this.skipDetect = deconcept.util.getRequestParameter(this.DETECT_KEY); this.params = new Object(); this.variables = new Object(); this.attributes = new Array(); if(swf) { this.setAttribute('swf', swf); } if(id) { this.setAttribute('id', id); } if(w) { this.setAttribute('width', w); } if(h) { this.setAttribute('height', h); } if(ver) { this.setAttribute('version', new deconcept.PlayerVersion(ver.toString().split("."))); } this.installedVer = deconcept.SWFObjectUtil.getPlayerVersion(); if (!window.opera && document.all && this.installedVer.major > 7) { // only add the onunload cleanup if the Flash Player version supports External Interface and we are in IE deconcept.SWFObject.doPrepUnload = true; } if(c) { this.addParam('bgcolor', c); } var q = quality ? quality : 'high'; this.addParam('quality', q); this.setAttribute('useExpressInstall', false); this.setAttribute('doExpressInstall', false); var xir = (xiRedirectUrl) ? xiRedirectUrl : window.location; this.setAttribute('xiRedirectUrl', xir); this.setAttribute('redirectUrl', ''); if(redirectUrl) { this.setAttribute('redirectUrl', redirectUrl); } } deconcept.SWFObject.prototype = { useExpressInstall: function(path) { this.xiSWFPath = !path ? "expressinstall.swf" : path; this.setAttribute('useExpressInstall', true); }, setAttribute: function(name, value){ this.attributes[name] = value; }, getAttribute: function(name){ return this.attributes[name]; }, addParam: function(name, value){ this.params[name] = value; }, getParams: function(){ return this.params; }, addVariable: function(name, value){ this.variables[name] = value; }, getVariable: function(name){ return this.variables[name]; }, getVariables: function(){ return this.variables; }, delVariable: function(name){ delete this.variables[name]; }, getVariablePairs: function(){ var variablePairs = new Array(); var key; var variables = this.getVariables(); for(key in variables){ variablePairs[variablePairs.length] = key +"="+ variables[key]; } return variablePairs; }, getSWFHTML: function() { var swfNode = ""; if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { // netscape plugin architecture if (this.getAttribute("doExpressInstall")) { this.addVariable("MMplayerType", "PlugIn"); this.setAttribute('swf', this.xiSWFPath); } swfNode = '<embed type="application/x-shockwave-flash" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'" style="'+ this.getAttribute('style') +'"'; swfNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" '; var params = this.getParams(); for(var key in params){ swfNode += [key] +'="'+ params[key] +'" '; } var pairs = this.getVariablePairs().join("&"); if (pairs.length > 0){ swfNode += 'flashvars="'+ pairs +'"'; } swfNode += '/>'; } else { // PC IE if (this.getAttribute("doExpressInstall")) { this.addVariable("MMplayerType", "ActiveX"); this.setAttribute('swf', this.xiSWFPath); } swfNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'" style="'+ this.getAttribute('style') +'">'; swfNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" />'; var params = this.getParams(); for(var key in params) { swfNode += '<param name="'+ key +'" value="'+ params[key] +'" />'; } var pairs = this.getVariablePairs().join("&"); if(pairs.length > 0) {swfNode += '<param name="flashvars" value="'+ pairs +'" />';} swfNode += "</object>"; } return swfNode; }, write: function(elementId){ if(this.getAttribute('useExpressInstall')) { // check to see if we need to do an express install var expressInstallReqVer = new deconcept.PlayerVersion([6,0,65]); if (this.installedVer.versionIsValid(expressInstallReqVer) && !this.installedVer.versionIsValid(this.getAttribute('version'))) { this.setAttribute('doExpressInstall', true); this.addVariable("MMredirectURL", escape(this.getAttribute('xiRedirectUrl'))); document.title = document.title.slice(0, 47) + " - Flash Player Installation"; this.addVariable("MMdoctitle", document.title); } } if(this.skipDetect || this.getAttribute('doExpressInstall') || this.installedVer.versionIsValid(this.getAttribute('version'))){ var n = (typeof elementId == 'string') ? document.getElementById(elementId) : elementId; n.innerHTML = this.getSWFHTML(); return true; }else{ if(this.getAttribute('redirectUrl') != "") { document.location.replace(this.getAttribute('redirectUrl')); } } return false; } } /* ---- detection functions ---- */ deconcept.SWFObjectUtil.getPlayerVersion = function(){ var PlayerVersion = new deconcept.PlayerVersion([0,0,0]); if(navigator.plugins && navigator.mimeTypes.length){ var x = navigator.plugins["Shockwave Flash"]; if(x && x.description) { PlayerVersion = new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split(".")); } }else if (navigator.userAgent && navigator.userAgent.indexOf("Windows CE") >= 0){ // if Windows CE var axo = 1; var counter = 3; while(axo) { try { counter++; axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+ counter); // document.write("player v: "+ counter); PlayerVersion = new deconcept.PlayerVersion([counter,0,0]); } catch (e) { axo = null; } } } else { // Win IE (non mobile) // do minor version lookup in IE, but avoid fp6 crashing issues // see http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/ try{ var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"); }catch(e){ try { var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"); PlayerVersion = new deconcept.PlayerVersion([6,0,21]); axo.AllowScriptAccess = "always"; // error if player version < 6.0.47 (thanks to Michael Williams @ Adobe for this code) } catch(e) { if (PlayerVersion.major == 6) { return PlayerVersion; } } try { axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); } catch(e) {} } if (axo != null) { PlayerVersion = new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(",")); } } return PlayerVersion; } deconcept.PlayerVersion = function(arrVersion){ this.major = arrVersion[0] != null ? parseInt(arrVersion[0]) : 0; this.minor = arrVersion[1] != null ? parseInt(arrVersion[1]) : 0; this.rev = arrVersion[2] != null ? parseInt(arrVersion[2]) : 0; } deconcept.PlayerVersion.prototype.versionIsValid = function(fv){ if(this.major < fv.major) return false; if(this.major > fv.major) return true; if(this.minor < fv.minor) return false; if(this.minor > fv.minor) return true; if(this.rev < fv.rev) return false; return true; } /* ---- get value of query string param ---- */ deconcept.util = { getRequestParameter: function(param) { var q = document.location.search || document.location.hash; if (param == null) { return q; } if(q) { var pairs = q.substring(1).split("&"); for (var i=0; i < pairs.length; i++) { if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) { return pairs[i].substring((pairs[i].indexOf("=")+1)); } } } return ""; } } /* fix for video streaming bug */ deconcept.SWFObjectUtil.cleanupSWFs = function() { var objects = document.getElementsByTagName("OBJECT"); for (var i = objects.length - 1; i >= 0; i--) { objects[i].style.display = 'none'; for (var x in objects[i]) { if (typeof objects[i][x] == 'function') { objects[i][x] = function(){}; } } } } // fixes bug in some fp9 versions see http://blog.deconcept.com/2006/07/28/swfobject-143-released/ if (deconcept.SWFObject.doPrepUnload) { if (!deconcept.unloadSet) { deconcept.SWFObjectUtil.prepUnload = function() { __flash_unloadHandler = function(){}; __flash_savedUnloadHandler = function(){}; window.attachEvent("onunload", deconcept.SWFObjectUtil.cleanupSWFs); } window.attachEvent("onbeforeunload", deconcept.SWFObjectUtil.prepUnload); deconcept.unloadSet = true; } } /* add document.getElementById if needed (mobile IE < 5) */ if (!document.getElementById && document.all) { document.getElementById = function(id) { return document.all[id]; }} /* add some aliases for ease of use/backwards compatibility */ var getQueryParamValue = deconcept.util.getRequestParameter; var FlashObject = deconcept.SWFObject; // for legacy support var SWFObject = deconcept.SWFObject;[align=left][/align] XXX.jsp <script type="text/javascript" src="${ctx }/js/swfobject.js"></script> <script type="text/javascript"> function changeReport(value) { if(value==1) { so.addVariable("line_dot","4,#7f90b4,展示数,12,5"); so.addVariable("values",pvAmount); so.addVariable("y_max",max1); }else if(value==2) { so.addVariable("line_dot","4,#ff9c34,点击数,12,5"); so.addVariable("values",clickAmount); so.addVariable("y_max",max2); }else if(value==3) { so.addVariable("line_dot","4,#993300,成本,12,5"); so.addVariable("values",costs); so.addVariable("y_max",max3); }else if(value==4) { so.addVariable("line_dot","4,#669933,平均点击费用,12,5"); so.addVariable("values",avgClickCosts); so.addVariable("y_max",max4); } so.write("my_chart"); } </script> <s:if test="null==adPlanDateReportList||adPlanDateReportList.isEmpty()"> <div style="margin-top: 10px;">sorry,暂时没有找到您所要查询的数据!</div> </s:if> <s:else> 您正在查看 <fmt:formatDate pattern="yyyy-MM-dd" value="${startTime}"/>至<fmt:formatDate pattern="yyyy-MM-dd" value="${endTime}"/> 的数据 </div> <div id="my_chart" style="text-align: center;height: auto;"></div> <div style="margin: 10px;"> <label> <input type="radio" name="radio" id="rad1" onclick="changeReport(1);" checked="checked"/>展示数 </label> <label> <input type="radio" name="radio" id="rad1" onclick="changeReport(2);"/>点击数 </label> <label> <input type="radio" name="radio" id="rad1" onclick="changeReport(3);"/>成本 </label> <label> <input type="radio" name="radio" id="rad1" onclick="changeReport(4);"/>平均点击费用 </label> </div> <script type="text/javascript"> var so = new SWFObject("${ctx}/actionscript/open-flash-chart.swf", "ofc", "800", "300", "9", "#FFFFFF"); so.addParam("wmode","transparent"); so.addVariable("variables","true"); so.addVariable("bg_colour","0xFFFFFF");//背景颜色 so.addVariable("x_grid_colour","#E8EDF8");//x轴grid底的颜色 so.addVariable("y_grid_colour","#E8EDF8");//y轴grid底的颜色 so.addVariable("x_axis_colour","#D9E4F3");//x坐标的颜色 so.addVariable("y_axis_colour","#D9E4F3");//y坐标的颜色 so.addVariable("x_label_style","12,#5B719D");//x轴坐标的文字样式,12-size,#5B719D-颜色指 so.addVariable("y_label_style","12,#5B719D");//y轴坐标的文字样,12-size,#5B719D-颜色指式 //so.addVariable("title","PV/点击数――日走势图,{font-size: 20;color:#5284C7}");//顶端字 //so.addVariable("y_legend","中文1123,12,#736AFF");//左侧字 //so.addVariable("x_legend","进入流量总体报,12,#736AFF");//底端字 so.addVariable("y_label_size","24");//没用 so.addVariable("y_ticks","5,10,4");//5是左侧线的长短,10是左侧线上下线的长短,4是左侧分及格 //so.addVariable("area_hollow","1.2,3,35,#CC3399,访问次数,10");//area_hollow代表空心圆,3是节点的大小,2是线的粗细,25线型图的背景颜色深浅 so.addVariable("line_dot","4,#7f90b4,PV数,12,5");//4线的粗细,颜色,文字,字体大小,空心圆节点的大小 var pvAmount = ""; var clickAmount = ""; var strDate = ""; var costs=""; var avgClickCosts="" var tmp1; var tmp2; var tmp3; var tmp4; var tmp5; var max1 = 0; var max2 = 0; var max3 = 0; var max4 = 0; <s:iterator value="adPlanDateReportList"> tmp1 = <s:property value="pvAmount" />; pvAmount = pvAmount + tmp1 + ","; tmp2 = <s:property value="clickAmount" />; clickAmount = clickAmount + tmp2 + ","; tmp3=<s:property value="costs" />; costs=costs + tmp3 + ","; tmp4 = "<s:property value='avgClickCosts' />" avgClickCosts = avgClickCosts + tmp4 + ","; tmp5 = "<s:property value='createDate' />" strDate = strDate + tmp5 + ","; if(tmp1 > max1) { max1 = Math.ceil(tmp1 + tmp1 * 0.5); } if(tmp2 > max2) { max2 = Math.ceil(tmp2 + tmp2 * 0.5); } if(tmp3 > max3) { max3 = Math.ceil(tmp3 + tmp3 * 0.5); } if(tmp4 > max4) { max4 = Math.ceil(tmp4 + tmp4 * 0.5); } </s:iterator> pvAmount = pvAmount.substring(0,pvAmount.length-1); clickAmount = clickAmount.substring(0,clickAmount.length-1); costs=costs.substring(0,costs.length-1); strDate = strDate.substring(0,strDate.length-1); avgClickCosts=avgClickCosts.substring(0,avgClickCosts.length-1); so.addVariable("values",pvAmount); //so.addVariable("values","1,2,3,4,5"); so.addVariable("x_labels",strDate); //so.addVariable("x_labels","中文,中文,中文,中文,中文,中文,中文,中文,中文,中文,中文,中文,中文,中文"); so.addVariable("x_axis_steps","1");//背景格的大小 so.addVariable("y_max",max1);//图形的高度 so.addVariable("x_label_style","11,#000000,2"); //so.addVariable("tool_tip","日期:#x_label#<br>#key#:#val#");//tooltip鼠标放上去显示内容 so.addParam("allowScriptAccess", "always" );//"sameDomain"); so.write("my_chart"); </script>[/align]