20
Javascript for Advertisers

Javascript Basics for Advertisers

Embed Size (px)

Citation preview

Page 1: Javascript Basics for Advertisers

Javascript for Advertisers

Page 2: Javascript Basics for Advertisers

History Lesson

-Netscape Navigator ( Live Script then later Javascript )-Internet Explorer ( VbScript then later Jscript )

Early 1990’s

1996- ECMAScript or ECMA-262

Page 3: Javascript Basics for Advertisers

Browser Wars

Page 4: Javascript Basics for Advertisers

Why Javascript?

-Language of the Web-Huge install base-Very expressive-Very flexible-Universally Hated!

Page 5: Javascript Basics for Advertisers

Javascript BasicsVariables

var iAmALocalVariable = "hello";iAmAGlobalVariable = "hello world";

Page 6: Javascript Basics for Advertisers

Javascript BasicsFunctions

function iSayHello(){ alert("hello");}

Page 7: Javascript Basics for Advertisers

Javascript BasicsParameters

function iSayHelloToYou(name){ alert("hello "+name);}

Page 8: Javascript Basics for Advertisers

Javascript BasicsFlow Control

if( theWorldIsAboutToEnd ){ alert("Panic!");}else{ alert("Have a nice cup of tea and a sit down");}

Page 9: Javascript Basics for Advertisers

Javascript BasicsLoops

for( var counter = 0; counter < 10; counter+=1 ){ alert("counter is at: "+counter);}

Page 10: Javascript Basics for Advertisers

Javascript Basics

document.write("<img src='trackingImage.gif'/>");

Element.onclick= callFunctionHere;

Broswer Interaction

Page 11: Javascript Basics for Advertisers

Tracking ExampleScripts

<script src="%h/879366/flashwrite_1_2.js"></script>

<SCRIPT LANGUAGE="JavaScript">…

Page 12: Javascript Basics for Advertisers

Tracking ExampleFunction and Variable Declarations

function DCFlash(id,pVM){var swf = "%h/1436076/LW_gifting_728x90.swf";var gif = "%h/1436076/LW_gifting_728x90.gif";var minV = 8;var FWH = ' width="728" height="90" ';var url = escape("%c%u");var fscUrl = url;var fscUrlClickTagFound = false;var wmode = "opaque";var bg = "";var dcallowscriptaccess = "never";

var openWindow = "false";var winW = 0;var winH = 0;var winL = 0;var winT = 0;

var moviePath=swf.substring(0,swf.lastIndexOf("/"));var sm=new Array();

Page 13: Javascript Basics for Advertisers

Tracking ExampleSetting up Flash Variables 1/2

var fv='"moviePath='+moviePath+'/'+'&moviepath='+moviePath+'/';

//This bit is essentially ignored:for(i=1;i<sm.length;i++){

if(sm[i]!=""){fv+="&submovie"+i+"="+escape(sm[i]);

}}

Page 14: Javascript Basics for Advertisers

var defaultCtVal = escape("%c%u");var ctp=new Array();var ctv=new Array();ctp[0] = "clickTag"; ctv[0] = "";

Setting up Flash Variables 2/2

for(var ctIndex = 0; ctIndex < ctp.length; ctIndex++) {var ctParam = ctp[ctIndex];var ctVal = ctv[ctIndex];if(ctVal != null && typeof(ctVal) ==

'string') {if(ctVal == "") {

ctVal = defaultCtVal;}else {

ctVal = escape("%c" + ctVal);

}if(ctParam.toLowerCase() ==

"clicktag") {fscUrl = ctVal;fscUrlClickTagFound = true;

}else if(!fscUrlClickTagFound) {

fscUrl = ctVal;}fv += "&" + ctParam + "=" + ctVal;

}}

Page 15: Javascript Basics for Advertisers

FV now has the value:"moviePath=%h/1436076/&moviepath=%h/1436076/&clickTag=%25c%25u"

Page 16: Javascript Basics for Advertisers

function FSWin(){

if((openWindow=="false")&&(id=="DCF0"))alert('openWindow is wrong.');var dcw = 800;var dch = 600;// IEif(!window.innerWidth){

// strict modeif(!(document.documentElement.clientWidth == 0)){

dcw = document.documentElement.clientWidth;dch = document.documentElement.clientHeight;

} else if(document.body) // quirks mode{

dcw = document.body.clientWidth;dch = document.body.clientHeight;

}} else // w3c{

dcw = window.innerWidth;dch = window.innerHeight;

}

if(openWindow=="center"){winL=Math.floor((dcw-winW)/2);winT=Math.floor((dch-winH)/2);

}

window.open(unescape(fscUrl),id,"width="+winW+",height="+winH+",top="+winT+",left="+winL+",status=no,toolbar=no,menubar=no,location=no");}

Page 17: Javascript Basics for Advertisers

ua=navigator.userAgent;

if( minV <= pVM && (openWindow =="false" || (ua.indexOf("Mac") < 0 && ua.indexOf("Opera") < 0 ) ) ){

var adcode='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="'+id+'"'+FWH+'>'+'<param name="movie" value="'+swf+'"><param name="flashvars" value='+fv+'><param name="quality" value="high"><param name="wmode" value="'+wmode+'">'+'<param name="base" value="'+swf.substring(0,swf.lastIndexOf("/"))+'"><PARAM NAME="AllowScriptAccess" VALUE="'+dcallowscriptaccess+'">'+bgo+

'<embed src="'+swf+'" flashvars='+fv+bge+FWH+' type="application/x-shockwave-flash" quality="high" swliveconnect="true" wmode="'+wmode+'" name="'+id+'" base="'+

swf.substring(0,swf.lastIndexOf("/"))+'" AllowScriptAccess="'+dcallowscriptaccess+'"></embed></object>';

if(('%eenv!'!="j")&&(typeof dclkFlashWrite!="undefined")){dclkFlashWrite(adcode);

}else{document.write(adcode);}

}

Page 18: Javascript Basics for Advertisers

Tracking ExampleNoScript

<noscript><a target="_blank" href="%c%u">

<img src="%h/1436076/LW_gifting_728x90.gif" width="728" height="90" border="0" alt="" galleryimg="no">

</a></noscript>

Page 19: Javascript Basics for Advertisers

Spot the Problems!

//Call the functionmyFunction();

var myfunction = function myFunction(){ if iWantToDoThis { doSomethingCrazyExciting( 'iAmAParameter ) doAnotherCrazyExcitingThing() }else{ iDontGetCalled(); }

Hint: there are 6

Page 20: Javascript Basics for Advertisers

Resources

-Firefox + Firebug-W3C http://www.w3schools.com/jsref/-http://jsfiddle.net/