Sign in to follow this  
thumu

Unable To Open Fusion Charts From Desktop Files

Recommended Posts

Hi All,

 

I executed Fusion charts from SAP BSP, it worked opened browser and chart displayed properly.

 

 

Now i downloaded column chart SWF file and FusionCharts.Js file into my desktop, took source code from previous step, changed Source paths to desktop paths and Opened it in my desktop.

But it is not working. Can you help me out?

 

<html>
<head>
<title> Flex example </title>


<script LANGUAGE="JavaScript" src="FusionCharts.js" ></script>
  <script LANGUAGE="JavaScript">

     function FC_Rendered(DOMId)
     {

        if (DOMId=="chart2Id")
        {
          return;
        }
     }
  </SCRIPT>
</head>
<body>
  <div id="chart1div" align="center" valign"top">
     FusionCharts
  </div>
<script language="javascript"> 
var strXML;










strXML = "<chart caption='' subcaption='' xAxisName='' yAxisName='' numberPrefix=''><categories><category  label='Approved for Settlement' /><category  label='[No Value]' /></categories><dataset seriesName=''><set value='325.00' /></dataset>"+
"<dataset seriesName=''><set value='384273.00 ' /></dataset><styles><definition><style name='CanvasAnim' type='animation' param='_xScale' start='0' duration='1' /></definition><application><apply toObject='Canvas' styles='CanvasAnim' /></application>"+
"</styles></chart>";

     var chart1 = new FusionCharts("MSColumn2D.swf", "chart2Id", "400", "300", "0", "1");






     chart1.setDataXML(strXML);
     chart1.render("chart1div");
function evt_select( )
{
alert("You Clicked!");
}
</script>
</body>
</html>

 

Edited by thumu

Share this post


Link to post
Share on other sites
Guest Angshu

Hi,

 

Welcome to FusionCharts Forum!smile.gif

 

Please try in this way:

 

1. Copy all the files( including js and swf) in a single folder in your source path.

 

2. Copy the folder from source path to desktop path and see whether it is working or not.

 

Awaiting for your response.

Share this post


Link to post
Share on other sites

Hi All,

 

I executed Fusion charts from SAP BSP, it worked opened browser and chart displayed properly.

 

 

Now i downloaded column chart SWF file and FusionCharts.Js file into my desktop, took source code from previous step, changed Source paths to desktop paths and Opened it in my desktop.

But it is not working. Can you help me out?

 

<html>
<head>
<title> Flex example </title>


<script LANGUAGE="JavaScript" src="FusionCharts.js" ></script>
  <script LANGUAGE="JavaScript">

     function FC_Rendered(DOMId)
     {

		if (DOMId=="chart2Id")
		{
  		return;
		}
     }
  </SCRIPT>
</head>
<body>
  <div id="chart1div" align="center" valign"top">
     FusionCharts
  </div>
<script language="javascript"> 
var strXML;










strXML = "<chart caption='' subcaption='' xAxisName='' yAxisName='' numberPrefix=''><categories><category  label='Approved for Settlement' /><category  label='[No Value]' /></categories><dataset seriesName=''><set value='325.00' /></dataset>"+
"<dataset seriesName=''><set value='384273.00 ' /></dataset><styles><definition><style name='CanvasAnim' type='animation' param='_xScale' start='0' duration='1' /></definition><application><apply toObject='Canvas' styles='CanvasAnim' /></application>"+
"</styles></chart>";

     var chart1 = new FusionCharts("MSColumn2D.swf", "chart2Id", "400", "300", "0", "1");






     chart1.setDataXML(strXML);
     chart1.render("chart1div");
function evt_select( )
{
alert("You Clicked!");
}
</script>
</body>
</html>

 

 

 

 

i am unable to upload the files...

/**
* FusionCharts: Flash Player detection and Chart embedding.
* Version: 1.2.4 (16th February, 2009) - Added fix for chart with % width/height.
* Version: 1.2.3 (15th September, 2008) - Added fix for % and & characters. Additional fixes to properly handle double quotes and single quotes in setDataXML() function.
* Version: 1.2.2 (10th July, 2008) - Added fix for % scaled dimensions, fixes in setDataXML() and setDataURL() functions
* Version: 1.2.1 (21st December, 2007) - Added setting up transparent/opaque mode: setTransparent() function 
* Version: 1.2 (1st November, 2007) - Added FORM fixes for IE 
* Version: 1.1 (29th June, 2007) - Added Player detection, New conditional fixes for IE
*
* Morphed from SWFObject (http://blog.deconcept.com/swfobject/) under MIT License:
* http://www.opensource.org/licenses/mit-license.php
*
*/if(typeof infosoftglobal == "undefined") var infosoftglobal = new Object();
if(typeof infosoftglobal.FusionChartsUtil == "undefined") infosoftglobal.FusionChartsUtil = new Object();
infosoftglobal.FusionCharts = function(swf, id, w, h, debugMode, registerWithJS, c, scaleMode, lang, detectFlashVersion, autoInstallRedirect){
if (!document.getElementById) { return; }

//Flag to see whether data has been set initially
this.initialDataSet = false;

//Create container objects
this.params = new Object();
this.variables = new Object();
this.attributes = new Array();

//Set attributes for the SWF
if(swf) { this.setAttribute('swf', swf); }
if(id) { this.setAttribute('id', id); }

debugMode = debugMode ? debugMode : 0;
this.addVariable('debugMode', debugMode);

w=w.toString().replace(/\%$/,"%25");
if(w) { this.setAttribute('width', w); }
h=h.toString().replace(/\%$/,"%25");
if(h) { this.setAttribute('height', h); }


//Set background color
if(c) { this.addParam('bgcolor', c); }

//Set Quality	
this.addParam('quality', 'high');

//Add scripting access parameter
this.addParam('allowScriptAccess', 'always');

//Pass width and height to be appended as chartWidth and chartHeight
this.addVariable('chartWidth', w);
this.addVariable('chartHeight', h);

//Whether in debug mode
//Pass DOM ID to Chart
this.addVariable('DOMId', id);
//Whether to registed with JavaScript
registerWithJS = registerWithJS ? registerWithJS : 0;
this.addVariable('registerWithJS', registerWithJS);

//Scale Mode of chart
scaleMode = scaleMode ? scaleMode : 'noScale';
this.addVariable('scaleMode', scaleMode);

//Application Message Language
lang = lang ? lang : 'EN';
this.addVariable('lang', lang);

//Whether to auto detect and re-direct to Flash Player installation
this.detectFlashVersion = detectFlashVersion?detectFlashVersion:1;
this.autoInstallRedirect = autoInstallRedirect?autoInstallRedirect:1;

//Ger Flash Player version 
this.installedVer = infosoftglobal.FusionChartsUtil.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
	infosoftglobal.FusionCharts.doPrepUnload = true;
}
}

infosoftglobal.FusionCharts.prototype = {
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;
},
getVariablePairs: function(){
	var variablePairs = new Array();
	var key;
	var variables = this.getVariables();
	for(key in variables){
		variablePairs.push(key +"="+ variables[key]);
	}
	return variablePairs;
},
getSWFHTML: function() {
	var swfNode = "";
	if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { 
		// netscape plugin architecture			
		swfNode = '<embed type="application/x-shockwave-flash" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'"  ';
		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			
		swfNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'">';
		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;
},
setDataURL: function(strDataURL){
	//This method sets the data URL for the chart.
	//If being set initially
	if (this.initialDataSet==false){
		this.addVariable('dataURL',strDataURL);
		//Update flag
		this.initialDataSet = true;
	}else{
		//Else, we update the chart data using External Interface
		//Get reference to chart object
		var chartObj = infosoftglobal.FusionChartsUtil.getChartObject(this.getAttribute('id'));

		if (!chartObj.setDataURL)
		{
			__flash__addCallback(chartObj, "setDataURL");
		}

		chartObj.setDataURL(strDataURL);
	}
},
//This function :
//fixes the double quoted attributes to single quotes
//Encodes all quotes inside attribute values
//Encodes % to %25 and & to %26;
encodeDataXML: function(strDataXML){

		var regExpReservedCharacters=["\\{:content:}quot;,"\\+"];
		var arrDQAtt=strDataXML.match(/=\s*\".*?\"/g);
		if (arrDQAtt){
			for(var i=0;i<arrDQAtt.length;i++){
				var repStr=arrDQAtt[i].replace(/^=\s*\"|\"$/g,"");
				repStr=repStr.replace(/\'/g,"%26apos;");
				var strTo=strDataXML.indexOf(arrDQAtt[i]);
				var repStrr="='"+repStr+"'";
				var strStart=strDataXML.substring(0,strTo);
				var strEnd=strDataXML.substring(strTo+arrDQAtt[i].length);
				var strDataXML=strStart+repStrr+strEnd;
			}
		}

		strDataXML=strDataXML.replace(/\"/g,"%26quot;");
		strDataXML=strDataXML.replace(/%(?![\da-f]{2}|[\da-f]{4})/ig,"%25");
		strDataXML=strDataXML.replace(/\&/g,"%26");

		return strDataXML;

},
setDataXML: function(strDataXML){
	//If being set initially
	if (this.initialDataSet==false){
		//This method sets the data XML for the chart INITIALLY.
		this.addVariable('dataXML',this.encodeDataXML(strDataXML));
		//Update flag
		this.initialDataSet = true;
	}else{
		//Else, we update the chart data using External Interface
		//Get reference to chart object
		var chartObj = infosoftglobal.FusionChartsUtil.getChartObject(this.getAttribute('id'));
		chartObj.setDataXML(strDataXML);
	}
},
setTransparent: function(isTransparent){
	//Sets chart to transparent mode when isTransparent is true (default)
	//When no parameter is passed, we assume transparent to be true.
	if(typeof isTransparent=="undefined") {
		isTransparent=true;
	}			
	//Set the property
	if(isTransparent)
		this.addParam('WMode', 'transparent');
	else
		this.addParam('WMode', 'Opaque');
},

render: function(elementId){
	//First check for installed version of Flash Player - we need a minimum of 8
	if((this.detectFlashVersion==1) && (this.installedVer.major < 8)){
		if (this.autoInstallRedirect==1){
			//If we can auto redirect to install the player?
			var installationConfirm = window.confirm("You need Adobe Flash Player 8 (or above) to view the charts. It is a free and lightweight installation from Adobe.com. Please click on Ok to install the same.");
			if (installationConfirm){
				window.location = "http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";
			}else{
				return false;
			}
		}else{
			//Else, do not take an action. It means the developer has specified a message in the DIV (and probably a link).
			//So, expect the developers to provide a course of way to their end users.
			//window.alert("You need Adobe Flash Player 8 (or above) to view the charts. It is a free and lightweight installation from Adobe.com. ");
			return false;
		}			
	}else{
		//Render the chart
		var n = (typeof elementId == 'string') ? document.getElementById(elementId) : elementId;
		// If loaded in IE and scaleMode and width/height specified in %, load the chart using onload event 
		if(  this.getVariable('scaleMode').search(/noscale/i)>=0 &&  
             ( this.getAttribute('width').search("%")>0 || 
       	    	this.getAttribute('height').search("%")>0) )
		{
			//store current object reference
			var obj=this;
			if(window.addEventListener) {
				//add onload event on firefox                             	
	        	window.addEventListener("load",function()
                       { n.innerHTML = obj.getSWFHTML(); },false );
			} else if(window.attachEvent) {
				//add onload event on IE
				window.attachEvent("onload", function() 
					{ n.innerHTML = obj.getSWFHTML(); } );
			} else { 
				// if all onload fails fails
				n.innerHTML = this.getSWFHTML();		
			}				
		} else {
			//Normal case. Instantly load the chart
			n.innerHTML = this.getSWFHTML();
		}

		//Added <FORM> compatibility
		//Check if it's added in Mozilla embed array or if already exits 
		if(!document.embeds[this.getAttribute('id')] && !window[this.getAttribute('id')])
      		window[this.getAttribute('id')]=document.getElementById(this.getAttribute('id')); 
			//or else document.forms[formName/formIndex][chartId]			
		return true;		
	}
}
}

/* ---- detection functions ---- */
infosoftglobal.FusionChartsUtil.getPlayerVersion = function(){
var PlayerVersion = new infosoftglobal.PlayerVersion([0,0,0]);
if(navigator.plugins && navigator.mimeTypes.length){
	var x = navigator.plugins["Shockwave Flash"];
	if(x && x.description) {
		PlayerVersion = new infosoftglobal.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);
			PlayerVersion = new infosoftglobal.PlayerVersion([counter,0,0]);
		} catch (e) {
			axo = null;
		}
	}
} else { 
	// Win IE (non mobile)
	// Do minor version lookup in IE, but avoid Flash Player 6 crashing issues
	try{
		var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
	}catch(e){
		try {
			var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			PlayerVersion = new infosoftglobal.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 infosoftglobal.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));
	}
}
return PlayerVersion;
}
infosoftglobal.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;
}
// ------------ Fix for Out of Memory Bug in IE in FP9 ---------------//
/* Fix for video streaming bug */
infosoftglobal.FusionChartsUtil.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 fp9
if (infosoftglobal.FusionCharts.doPrepUnload) {
if (!infosoftglobal.unloadSet) {
	infosoftglobal.FusionChartsUtil.prepUnload = function() {
		__flash_unloadHandler = function(){};
		__flash_savedUnloadHandler = function(){};
		window.attachEvent("onunload", infosoftglobal.FusionChartsUtil.cleanupSWFs);
	}
	window.attachEvent("onbeforeunload", infosoftglobal.FusionChartsUtil.prepUnload);
	infosoftglobal.unloadSet = true;
}
}
/* Add document.getElementById if needed (mobile IE < 5) */
if (!document.getElementById && document.all) { document.getElementById = function(id) { return document.all[id]; }}
/* Add Array.push if needed (ie5) */
if (Array.prototype.push == null) { Array.prototype.push = function(item) { this[this.length] = item; return this.length; }}

/* Function to return Flash Object from ID */
infosoftglobal.FusionChartsUtil.getChartObject = function(id)
{
 var chartRef=null;
 if (navigator.appName.indexOf("Microsoft Internet")==-1) {
   if (document.embeds && document.embeds[id])
     chartRef = document.embeds[id]; 
else
chartRef  = window.document[id];
 }
 else {
   chartRef = window[id];
 }
 if (!chartRef)
chartRef  = document.getElementById(id);

 return chartRef;
}
/* Aliases for easy usage */
var getChartFromId = infosoftglobal.FusionChartsUtil.getChartObject;
var FusionCharts = infosoftglobal.FusionCharts;

 

 

i downloaded MSColumn2D from Fusion charts site... the above Source code and JS code and SWF files which were used by me.

Please help me out it..

 

Thanks,

Vinay.

Edited by thumu

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this