Your SlideShare is downloading. ×
Javascript Basics for Advertisers
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Javascript Basics for Advertisers

889
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
889
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Javascript for Advertisers
  • 2. History Lesson -Netscape Navigator ( Live Script then later Javascript ) -Internet Explorer ( VbScript then later Jscript ) Early 1990’s 1996 - ECMAScript or ECMA-262
  • 3. Browser Wars
  • 4. Why Javascript? -Language of the Web -Huge install base -Very expressive -Very flexible -Universally Hated!
  • 5. Javascript Basics Variables var iAmALocalVariable = "hello"; iAmAGlobalVariable = "hello world";
  • 6. Javascript Basics Functions function iSayHello(){ alert("hello"); }
  • 7. Javascript Basics Parameters function iSayHelloToYou(name){ alert("hello "+name); }
  • 8. Javascript Basics Flow Control if( theWorldIsAboutToEnd ){ alert("Panic!"); }else{ alert("Have a nice cup of tea and a sit down"); }
  • 9. Javascript Basics Loops for( var counter = 0; counter < 10; counter+=1 ){ alert("counter is at: "+counter); }
  • 10. Javascript Basics document.write("<img src='trackingImage.gif'/>"); Element.onclick= callFunctionHere; Broswer Interaction
  • 11. Tracking Example Scripts <script src="%h/879366/flashwrite_1_2.js"></script> <SCRIPT LANGUAGE="JavaScript">…
  • 12. Tracking Example Function 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();
  • 13. Tracking Example Setting 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]); } }
  • 14. 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; } }
  • 15. FV now has the value: "moviePath=%h/1436076/&moviepath=%h/1436076/&clickTag=%25c%25u"
  • 16. function FSWin(){ if((openWindow=="false")&&(id=="DCF0"))alert('openWindow is wrong.'); var dcw = 800; var dch = 600; // IE if(!window.innerWidth) { // strict mode if(!(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+",le ft="+winL+",status=no,toolbar=no,menubar=no,location=no"); }
  • 17. 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); } }
  • 18. Tracking Example NoScript <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>
  • 19. Spot the Problems! //Call the function myFunction(); var myfunction = function myFunction(){ if iWantToDoThis { doSomethingCrazyExciting( 'iAmAParameter ) doAnotherCrazyExcitingThing() }else{ iDontGetCalled(); } Hint: there are 6
  • 20. Resources -Firefox + Firebug -W3C http://www.w3schools.com/jsref/ -http://jsfiddle.net/