ticker

By smk Last update Dec 9, 2008 — Installed 105 times. Daily Installs: 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

There are 5 previous versions of this script.

// ==UserScript==
// @name           ticker
// @namespace      smk
// @description    addsTicker
// @include        *
// ==/UserScript==
var flashvars=[
				['textLoading','Loading ...'],
				['fetchOnStart','true'],
				['updateInterval','0'],
				['readyCallback','YAHOO.Finance.Ticker.swfCallback'],
				['isPaused','0'],
				['speed','2'],
				//please edit the below line to customize the ticker, below is an example, before the question mark is the descriptor
				['symbols','CWGIX,BXC,GOOGLE?GOOG']
			];
var otherOptions={
				'updateTime':15*60*1000
				};
var flashvarsStr="";
			
function addTicker(){
	if(GM_getValue("iframe",-1)==-1) GM_setValue("iframe",0);
	var iframe=GM_getValue("iframe");
	//alert(document.evaluate("//iframe",document,null,7,null).snapshotLength);
	GM_setValue("iframe",iframe+document.evaluate("//iframe",document,null,7,null).snapshotLength);
	if(iframe>0) GM_setValue("iframe",iframe-1);
	else if(ticker=document.getElementById('yahooFinanceTickerGreasemonkey')){
		//update
		ticker.innerHTML=ticker.innerHTML;
	}else{
		if(document.getElementById('yahooFinanceTickerGreasemonkey')==null){
			var i;
			var ticker=document.createElement('div');
			ticker.style.backgroundColor="black";
			//enable scrolling
			var symbols,symbolsIndex;
			for(i=0;i<flashvars.length;i++) if(flashvars[i][0]=='symbols'){symbolsIndex=i; break;}
			if(symbolsIndex>0 && (symbols=flashvars[symbolsIndex][1]) && symbols.length>0){
				for(var times=30/symbols.replace(/,.*?\?/,",").length,i=0;i<times;i++) symbols+=","+flashvars[symbolsIndex][1];
				flashvars[symbolsIndex][1]=escape(symbols);
			}
			for(i=0;i<flashvars.length;i++){
				flashvarsStr+=flashvars[i][0]+"="+flashvars[i][1]+((i!=flashvars.length-1)?"&":"");
			}
			ticker.id='yahooFinanceTickerGreasemonkey';
			ticker.innerHTML=
				'<embed type="application/x-shockwave-flash" src="http://us.js2.yimg.com/us.yimg.com/i/us/fi/swf/financeticker_1.12.swf"'+
				'allowscriptaccess="always" '+
				'flashvars="'+flashvarsStr+'"'+
				' width="100%" height="20px">';
			document.body.appendChild(ticker);
		}
	}
	if(otherOptions.updateTime && otherOptions.updateTime) window.setTimeout(addTicker,''+otherOptions.updateTime);
}
	
window.addEventListener('load',addTicker,false);