<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" media="screen" href="/App_Themes/default/rss.xslt"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:evnet="http://www.mscommunities.com/rssmodule/"><channel><title>Entries tagged with javascript - Channel 9</title><atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/tags/javascript/rss/default.aspx" /><image><url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url><title>Entries tagged with javascript - Channel 9</title><link>http://channel9.msdn.com/tags/Javascript/</link></image><description>javascript</description><link>http://channel9.msdn.com/tags/Javascript/</link><language>en-us</language><pubDate>Mon, 16 Nov 2009 16:15:56 GMT</pubDate><lastBuildDate>Mon, 16 Nov 2009 16:15:56 GMT</lastBuildDate><generator>EvNet (EvNet, Version=1.0.3608.3122, Culture=neutral, PublicKeyToken=null)</generator><item><title>Introducing the ASP.NET Ajax Library Beta</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/3/8/5/6/0/5/AnnounceASPNETAjaxLibrary1_85_ch9.png" border="0" /&gt;&lt;p&gt;During PDC 09 I grabbed some time with Stephen Walther to talk about some of the exciting new developments with the ASP.NET Ajax Library.  There were a number of new things to talk about including:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;The ASP.NET Ajax Library is now in Beta &lt;/li&gt;
    &lt;li&gt;Merging the Ajax Control Toolkit and the ASP.NET Ajax Library &lt;/li&gt;
    &lt;li&gt;There is now a pure client-side version of the Ajax Control Toolkit as well as the server-side version &lt;/li&gt;
    &lt;li&gt;Microsoft donating the ASP.NET Ajax Library into the CodePlex Foundation &lt;/li&gt;
    &lt;li&gt;There is now full product support of ASP.NET Ajax Library from Microsoft (including Ajax Control Toolkit &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We then walked through some demos of the ASP.NET Ajax Library that brings the following exciting capabilities to developers:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Power&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
    &lt;p&gt;Build data-centric web apps using advanced client-side data access libraries and controls&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;Keep your markup clean and standards-compliant with imperative coding &lt;/li&gt;
    &lt;li&gt;Make it easier to code using JavaScript intellisense in Visual Studio &lt;/li&gt;
    &lt;li&gt;Keep loading and execution of your scripts simple with the Script Loader with advanced management and execution features &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Use the ASP.NET Ajax Library CDN for lightning fast downloads of ASP.NET Ajax Library and jQuery &lt;/li&gt;
    &lt;li&gt;Reduce the number of requests to the server using script combining in the Script Loader &lt;/li&gt;
    &lt;li&gt;Reduce the size of your scripts using the ASP.NET Ajax Minifier Tool &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Interoperability&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Works across all browsers and any platform; ASP.NET, PHP, Ruby on Rails etc &lt;/li&gt;
    &lt;li&gt;Explore the code and make modifications, it’s open source &lt;/li&gt;
    &lt;li&gt;Use powerful jQuery selection syntax and Ajax Control Toolkit controls together &lt;/li&gt;
    &lt;li&gt;Create your own controls by extending ours like the DataView &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Check out my full blog post about the news here: &lt;a href="http://www.jamessenior.com/post/News-on-the-ASPNET-Ajax-Library.aspx"&gt;http://www.jamessenior.com/post/News-on-the-ASPNET-Ajax-Library.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Check out the docs and samples on the wiki here: &lt;a href="http://www.asp.net/ajaxlibrary"&gt;http://www.asp.net/ajaxlibrary&lt;/a&gt;  &lt;br /&gt;
Download the code from &lt;a href="http://ajax.codeplex.com"&gt;http://ajax.codeplex.com&lt;/a&gt; &lt;/p&gt;&lt;img src="http://channel9.msdn.com/506583/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/jsenior/Introducing-the-ASPNET-Ajax-Library-Beta/</comments><link>http://channel9.msdn.com/posts/jsenior/Introducing-the-ASPNET-Ajax-Library-Beta/</link><pubDate>Wed, 18 Nov 2009 20:56:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/3/8/5/6/0/5/AnnounceASPNETAjaxLibrary1_ch9.wmv</guid><evnet:views>43148</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/506583/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>During PDC 09 I grabbed some time with Stephen Walther to talk about some of the exciting new developments with the ASP.NET Ajax Library.....</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/3/8/5/6/0/5/AnnounceASPNETAjaxLibrary1_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/3/8/5/6/0/5/AnnounceASPNETAjaxLibrary1_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/3/8/5/6/0/5/AnnounceASPNETAjaxLibrary1_ch9.mp4" expression="full" duration="1861" fileSize="151010480" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/3/8/5/6/0/5/AnnounceASPNETAjaxLibrary1_ch9.mp3" expression="full" duration="1861" fileSize="14896832" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/3/8/5/6/0/5/AnnounceASPNETAjaxLibrary1_ch9.mp4" expression="full" duration="1861" fileSize="151010480" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/3/8/5/6/0/5/AnnounceASPNETAjaxLibrary1_ch9.wma" expression="full" duration="1861" fileSize="15064023" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/3/8/5/6/0/5/AnnounceASPNETAjaxLibrary1_ch9.wmv" expression="full" duration="1861" fileSize="217407581" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/3/8/5/6/0/5/AnnounceASPNETAjaxLibrary1_2MB_ch9.wmv" expression="full" duration="1861" fileSize="453552635" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/3/8/5/6/0/5/AnnounceASPNETAjaxLibrary1_Zune_ch9.wmv" expression="full" duration="1861" fileSize="199071633" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/3/8/5/6/0/5/AnnounceASPNETAjaxLibrary1_512_ch9.png" expression="full" duration="1861" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/3/8/5/6/0/5/AnnounceASPNETAjaxLibrary1.ism/Manifest" expression="full" duration="1861" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/3/8/5/6/0/5/AnnounceASPNETAjaxLibrary1_ch9.wmv" length="217407581" type="video/x-ms-wmv" /><dc:creator>James Senior</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/jsenior/Introducing-the-ASPNET-Ajax-Library-Beta/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/506583/Trackback.aspx</trackback:ping><category>ASP.NET AJAX</category><category>Javascript</category></item><item><title>IE 9: First look at the new JS Engine</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/2/7/8/5/0/5/IE9JSEngineEarlyLook_85_ch9.png" border="0" /&gt;The IE team is busy working on the next version of the world's most popular browser. IE 8 is the most widely used browser on Windows. &lt;a href="http://blogs.msdn.com/ie/archive/2009/11/18/an-early-look-at-ie9-for-developers.aspx" target="_blank"&gt;IE 9 is currently in the oven and the IE team is ready to talk &lt;/a&gt;about what they're working on. Here, JavaScript engine team members John Montgomery, Steve Lucco and Shanku Niyogi give us an early look at the new JS engine that will ship with IE 9. As of the interview, it is on par with the latest performance numbers of the latest Firefox beta and making progress in catching up to Chrome's latest V8. Again, this is a really early look at where the JS engine is and where it's going (and what they've done, architecturally, to speed up IE's JS engine). Enjoy!&lt;img src="http://channel9.msdn.com/505872/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/IE-9-First-look-at-the-new-JS-Engine/</comments><link>http://channel9.msdn.com/posts/Charles/IE-9-First-look-at-the-new-JS-Engine/</link><pubDate>Wed, 18 Nov 2009 17:22:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/2/7/8/5/0/5/IE9JSEngineEarlyLook_ch9.wmv</guid><evnet:views>57328</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/505872/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>The IE team is busy working on the next version of the world's most popular browser. IE 8 is the most widely used browser on Windows. IE 9 is currently in the oven and the IE team is ready to talk about what they're working on. Here, JavaScript engine team members John Montgomery, Steve Lucco and Shanku Niyogi give us an early look at the new JS engine that will ship with IE 9. As of the interview, it is on par with the latest performance numbers of the latest Firefox beta and making progress in catching up to Chrome's latest V8. Again, this is a really early look at where the JS engine is and where…</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/2/7/8/5/0/5/IE9JSEngineEarlyLook_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/2/7/8/5/0/5/IE9JSEngineEarlyLook_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/2/7/8/5/0/5/IE9JSEngineEarlyLook_ch9.mp4" expression="full" duration="1268" fileSize="221004882" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/2/7/8/5/0/5/IE9JSEngineEarlyLook_ch9.mp3" expression="full" duration="1268" fileSize="10152773" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/2/7/8/5/0/5/IE9JSEngineEarlyLook_ch9.mp4" expression="full" duration="1268" fileSize="221004882" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/2/7/8/5/0/5/IE9JSEngineEarlyLook_ch9.wma" expression="full" duration="1268" fileSize="10269639" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/2/7/8/5/0/5/IE9JSEngineEarlyLook_ch9.wmv" expression="full" duration="1268" fileSize="272583279" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/2/7/8/5/0/5/IE9JSEngineEarlyLook_2MB_ch9.wmv" expression="full" duration="1268" fileSize="255188991" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/2/7/8/5/0/5/IE9JSEngineEarlyLook_Zune_ch9.wmv" expression="full" duration="1268" fileSize="175463331" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/2/7/8/5/0/5/IE9JSEngineEarlyLook_512_ch9.png" expression="full" duration="1268" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/2/7/8/5/0/5/IE9JSEngineEarlyLook.ism/Manifest" expression="full" duration="1268" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/2/7/8/5/0/5/IE9JSEngineEarlyLook_ch9.wmv" length="272583279" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>36</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/IE-9-First-look-at-the-new-JS-Engine/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/505872/Trackback.aspx</trackback:ping><category>IE-9</category><category>Javascript</category><category>JS-Engine</category></item><item><title>Announcing Microsoft Ajax Library Preview 6</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/7/9/0/7/9/4/announcingajaxpreview6_85_ch9.png" border="0" /&gt;I sat down with &lt;a href="http://www.stephenwalther.com"&gt;Stephen Walther&lt;/a&gt; from the Microsoft Ajax team to talk about their new release - Preview 6 - of the Microsoft Ajax Library.&lt;br /&gt;
&lt;br /&gt;
Stephen walks us through the three big enhancements in this release:&lt;br /&gt;
&lt;br /&gt;
- Addition of the imperative syntax&lt;br /&gt;
- The Script Loader&lt;br /&gt;
- jQuery support enhancements&lt;br /&gt;
&lt;br /&gt;
We go on to talk about how this will be the last release before we launch the Microsoft Ajax Library before the upcoming Microsoft PDC conference in November and also mention the new Microsoft Ajax CDN where we now have hosted the Microsoft Ajax Library and jQuery.&lt;br /&gt;
&lt;br /&gt;
To download the latest preview and get more information on the Microsoft Ajax Library head over to &lt;a href="http://www.asp.net/ajax"&gt;http://www.asp.net/ajax&lt;/a&gt; and also be sure to check out these related blog posts from the rest of the Microsoft Ajax team:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://weblogs.asp.net/scottgu/archive/2009/10/15/announcing-microsoft-ajax-library-preview-6-and-the-microsoft-ajax-minifier.aspx"&gt;Scott Guthrie has the big announcement&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.jamessenior.com/post/How-the-Script-Loader-in-the-Microsoft-Ajax-Library-will-make-your-life-wonderful.aspx"&gt;James Senior has details on the Script Loader&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://weblogs.asp.net/bleroy/archive/2009/10/15/entirely-unobtrusive-and-imperative-templates-with-microsoft-ajax-4-preview-6.aspx"&gt;Bertrand Le Roy has a blog post on imperative templates&lt;/a&gt;&lt;img src="http://channel9.msdn.com/497097/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/jsenior/Announcing-Microsoft-Ajax-Library-Preview-6/</comments><link>http://channel9.msdn.com/posts/jsenior/Announcing-Microsoft-Ajax-Library-Preview-6/</link><pubDate>Fri, 16 Oct 2009 10:47:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/7/9/0/7/9/4/announcingajaxpreview6_ch9.wmv</guid><evnet:views>33643</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/497097/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I sat down with Stephen Walther from the Microsoft Ajax team to talk about their new release - Preview 6 - of the Microsoft Ajax Library.&lt;br /&gt;
&lt;br /&gt;
Stephen walks us through the three big enhancements in this release:&lt;br /&gt;
&lt;br /&gt;
- Addition of the imperative syntax&lt;br /&gt;
- The Script Loader&lt;br /&gt;
- jQuery support enhancements&lt;br /&gt;
&lt;br /&gt;
We go on to talk about how this will be the last release before we launch the Microsoft Ajax Library before the upcoming Microsoft PDC conference in November and also mention the new Microsoft Ajax CDN where we now have hosted the Microsoft Ajax Library and jQuery.&lt;br /&gt;
&lt;br /&gt;</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/7/9/0/7/9/4/announcingajaxpreview6_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/7/9/0/7/9/4/announcingajaxpreview6_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/9/0/7/9/4/announcingajaxpreview6_ch9.mp4" expression="full" duration="1596" fileSize="129771821" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/9/0/7/9/4/announcingajaxpreview6_ch9.mp3" expression="full" duration="1596" fileSize="12771712" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/9/0/7/9/4/announcingajaxpreview6_ch9.mp4" expression="full" duration="1596" fileSize="129771821" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/7/9/0/7/9/4/announcingajaxpreview6_ch9.wma" expression="full" duration="1596" fileSize="12916163" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/7/9/0/7/9/4/announcingajaxpreview6_ch9.wmv" expression="full" duration="1596" fileSize="193451871" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/9/0/7/9/4/announcingajaxpreview6_2MB_ch9.wmv" expression="full" duration="1596" fileSize="321128835" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/9/0/7/9/4/announcingajaxpreview6_Zune_ch9.wmv" expression="full" duration="1596" fileSize="105386101" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/7/9/0/7/9/4/announcingajaxpreview6_512_ch9.png" expression="full" duration="1596" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/7/9/0/7/9/4/announcingajaxpreview6.ism/Manifest" expression="full" duration="1596" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/7/9/0/7/9/4/announcingajaxpreview6_ch9.wmv" length="193451871" type="video/x-ms-wmv" /><dc:creator>James Senior</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/jsenior/Announcing-Microsoft-Ajax-Library-Preview-6/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/497097/Trackback.aspx</trackback:ping><category>Ajax</category><category>ASP.NET</category><category>ASP.NET AJAX</category><category>Javascript</category></item><item><title>Web Application Toolkits: Make your website "Social"</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/8/9/0/4/9/4/WebAppToolkitSocial_85_ch9.png" border="0" /&gt;&lt;p&gt;Adding social capabilities to your Web site allows you to attract new users, keep them on your Web site for longer and get them to come back more often. In this screencast we explore this Web Application Toolkit that shows how, using a few lines of code with the Windows Live Messenger Web Toolkit, it is possible to add social capabilities to a Web site with instant messaging from a website to various client endpoints like Windows, Windows Mobile, Xbox 360 and Mac.  Behind the scenes is a powerful set of UI Controls and a JavaScript library that connect your website to the Messenger Service which is used by 330 million users around the world.  &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Downloads and Links&lt;br /&gt;
&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=163656"&gt;Download this toolkit here.&lt;/a&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=163657"&gt;&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://channel9.msdn.com/tags/web+application+toolkit/"&gt;For screencasts about other Web Application Toolkits, click here.&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://code.msdn.microsoft.com/Project/ProjectDirectory.aspx?TagName=WebAppToolkits"&gt;To download other Web Application Toolkits, click here.&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Feedback&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;We love to hear your feedback, ideas and comments so drop us an email to &lt;a href="http://channel9.msdn.commailto:webapp@microsoft.comshape="&gt;webapp@microsoft.com&lt;/a&gt;.  Keep up-to-date with the latest releases of Web App Toolkits by subscribing to the blog &lt;a href="http://blogs.msdn.com/webapptoolkits"&gt;http://blogs.msdn.com/webapptoolkits&lt;/a&gt; or following us on Twitter here: &lt;a href="http://www.twitter.com/microsoftweb"&gt;http://www.twitter.com/microsoftweb&lt;/a&gt; &lt;/p&gt;&lt;img src="http://channel9.msdn.com/494098/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/jsenior/Web-Application-Toolkits-Make-your-website-Social/</comments><link>http://channel9.msdn.com/posts/jsenior/Web-Application-Toolkits-Make-your-website-Social/</link><pubDate>Thu, 24 Sep 2009 18:02:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/8/9/0/4/9/4/WebAppToolkitSocial_ch9.wmv</guid><evnet:views>2545</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/494098/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Adding social capabilities to your Web site allows you to attract new users, keep them on your Web site for longer and get them to come back more often. In this screencast we explore this Web Application Toolkit that shows how, using a few lines of code with the Windows Live Messenger Web Toolkit, it is possible to add social capabilities to a Web site with instant messaging from a website to various client endpoints like Windows, Windows Mobile, Xbox 360 and Mac.  Behind the scenes is a powerful set of UI Controls and a JavaScript library that connect your website to the Messenger Service…</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/8/9/0/4/9/4/WebAppToolkitSocial_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/8/9/0/4/9/4/WebAppToolkitSocial_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/9/0/4/9/4/WebAppToolkitSocial_ch9.mp4" expression="full" duration="624" fileSize="27301104" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/9/0/4/9/4/WebAppToolkitSocial_ch9.mp3" expression="full" duration="624" fileSize="4996850" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/9/0/4/9/4/WebAppToolkitSocial_ch9.mp4" expression="full" duration="624" fileSize="27301104" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/8/9/0/4/9/4/WebAppToolkitSocial_ch9.wma" expression="full" duration="624" fileSize="5063707" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/8/9/0/4/9/4/WebAppToolkitSocial_ch9.wmv" expression="full" duration="624" fileSize="30526315" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/9/0/4/9/4/WebAppToolkitSocial_2MB_ch9.wmv" expression="full" duration="624" fileSize="36489023" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/9/0/4/9/4/WebAppToolkitSocial_Zune_ch9.wmv" expression="full" duration="624" fileSize="21406243" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/8/9/0/4/9/4/WebAppToolkitSocial_512_ch9.png" expression="full" duration="624" type="image/jpeg" medium="image" /><media:content url="http://ss.channel9.msdn.com/ch9/8/9/0/4/9/4/WebAppToolkitSocial.ism/Manifest" expression="full" duration="624" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/8/9/0/4/9/4/WebAppToolkitSocial_ch9.wmv" length="30526315" type="video/x-ms-wmv" /><dc:creator>James Senior</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/jsenior/Web-Application-Toolkits-Make-your-website-Social/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/494098/Trackback.aspx</trackback:ping><category>Javascript</category><category>jQuery</category><category>Social Networks</category><category>Web App Toolkit</category><category>Web Application Toolkit</category></item><item><title>Gestalt - a JS library to write Ruby, Python and XAML in web pages</title><description>&lt;img src="http://channel9.msdn.com/Link/a1938cc4-e936-47f1-bbdc-a579edca6daa/" border="0" /&gt;From the MIX Online team:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://visitmix.com/labs/gestalt/"&gt;Gestalt&lt;/a&gt;&amp;nbsp;is a library released by &lt;a href="http://www.visitmix.com/Labs"&gt;MIX Online Labs&lt;/a&gt; that allows you to write Ruby, Python &amp;amp; XAML code in your (X)HTML pages. It enables you to build richer and more powerful web applications by marrying the benefits of expressive languages, modern compilers, AJAX &amp;amp; RIAs with the write » save » refresh development model of the web. &lt;br /&gt;
&lt;br /&gt;
Looking forward to playing with this new toy :)&lt;img src="http://channel9.msdn.com/480132/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/ContinuumNews/Gestalt-a-JS-library-to-write-Ruby-Python-and-XAML-in-web-pages/</comments><link>http://channel9.msdn.com/posts/ContinuumNews/Gestalt-a-JS-library-to-write-Ruby-Python-and-XAML-in-web-pages/</link><pubDate>Tue, 21 Jul 2009 22:34:00 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/posts/ContinuumNews/Gestalt-a-JS-library-to-write-Ruby-Python-and-XAML-in-web-pages/</guid><evnet:views>1351</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/480132/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>From the MIX Online team:

Gestalt&amp;nbsp;is a library released by MIX Online Labs that allows you to write Ruby, Python &amp;amp; XAML code in your (X)HTML pages. It enables you to build richer and more powerful web applications by marrying the benefits of expressive languages, modern compilers, AJAX&amp;#8230;</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/705d10f8-725a-4080-9d04-e912fa8434f4/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/a1938cc4-e936-47f1-bbdc-a579edca6daa/" height="64" width="85" /><dc:creator>Adam Kinney</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/ContinuumNews/Gestalt-a-JS-library-to-write-Ruby-Python-and-XAML-in-web-pages/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/480132/Trackback.aspx</trackback:ping><category>Gestalt</category><category>Javascript</category><category>Python</category><category>RIA</category><category>Ruby</category><category>Silverlight</category></item><item><title>Expert to Expert: Web Programming, JavaScript with Types and Flapjax</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_small_ch9.png" border="0" /&gt;&lt;p&gt;&lt;a href="http://www.flapjax-lang.org/" target="_blank"&gt;&lt;em&gt;Flapjax&lt;/em&gt;&lt;/a&gt;&lt;em&gt; is a new programming language designed around the demands of modern, client-based Web applications. Its principal features include: &lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;em&gt;Event-driven, reactive evaluation &lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;&lt;em&gt;An event-stream abstraction for communicating with web services &lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;&lt;em&gt;Interfaces to external web services &lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Flapjax is easy to learn: it is just a JavaScript framework. Furthermore, because Flapjax is built entirely atop JavaScript, it runs on traditional Web browsers without the need for plug-ins or other downloads. It integrates seamlessly with existing JavaScript code and other frameworks. [Source = &lt;/em&gt;&lt;a href="http://www.flapjax-lang.org/"&gt;&lt;em&gt;http://www.flapjax-lang.org/&lt;/em&gt;&lt;/a&gt;&lt;em&gt;]&lt;br /&gt;
&lt;br /&gt;
&lt;/em&gt;&lt;a href="http://www.cs.brown.edu/~sk/" target="_blank"&gt;Shriram Krishnamurthi&lt;/a&gt; is one of the authors of Flapjax and was in town recently giving a series of lectures to fellow programming language researchers in MSR. Shriram is a professor of computer science at Brown University. Expert to Expert host and programming language designer Erik Meijer is also doing some interesting things with event driven reactivity (you'll learn all about this soon...) so the two language guys just had to chat and we had to film it. Tune in to see what happened in Erik's office over the course of an hour or so. A fair amount of time is spent discussing the reasoning behind and benefits of adding types to a language like JavaScript. It's an interesting idea, but what does it mean for web developers (who, potentially, adopted JavaScript for its wide open and highly dynamic characteristics in the first place).&lt;br /&gt;
&lt;br /&gt;
As usual, there's no editing here. It's as though you just came along and watched the magic unfold. Much thanks to Shriram for taking the time to chat with us. Flapjax is impressive. Do give it a try, Niners.&lt;/p&gt;&lt;img src="http://channel9.msdn.com/474049/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Web-Programming-with-Flapjax/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Web-Programming-with-Flapjax/</link><pubDate>Tue, 23 Jun 2009 18:21:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_ch9.wmv</guid><evnet:views>55735</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/474049/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>&lt;p&gt;&lt;a href="http://www.flapjax-lang.org/" target="_blank"&gt;&lt;em&gt;Flapjax&lt;/em&gt;&lt;/a&gt;&lt;em&gt; is a new programming language designed around the demands of modern, client-based Web applications. Its principal features include: &lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;em&gt;Event-driven, reactive evaluation &lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;&lt;em&gt;An event-stream abstraction for communicating with web services &lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;&lt;em&gt;Interfaces to external web services &lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Flapjax is easy to learn: it is just a JavaScript framework. Furthermore, because Flapjax is built entirely atop JavaScript, it runs on traditional Web browsers without the need for plug-ins or other downloads. It integrates seamlessly with existing JavaScript code and other frameworks. [Source = &lt;/em&gt;&lt;a href="http://www.flapjax-lang.org/"&gt;&lt;em&gt;http://www.flapjax-lang.org/&lt;/em&gt;&lt;/a&gt;&lt;em&gt;]&lt;br /&gt;
&lt;br /&gt;
&lt;/em&gt;&lt;a href="http://www.cs.brown.edu/~sk/" target="_blank"&gt;Shriram Krishnamurthi&lt;/a&gt; is one of the authors of Flapjax and was in town recently giving a series of lectures to fellow programming language researchers in MSR. Shriram is a professor of computer science at Brown University. Expert to Expert host and programming language designer Erik Meijer is also doing some interesting things with event driven reactivity (you'll learn all about this soon...) so the two language guys just had to chat and we had to film it. Tune in to see what happened in Erik's office over the course of an hour or so. A fair amount of time is spent discussing the reasoning behind and benefits of adding types to a language like JavaScript. It's an interesting idea, but what does it mean for web developers (who, potentially, adopted JavaScript for its wide open and highly dynamic characteristics in the first place).&lt;br /&gt;
&lt;br /&gt;
As usual, there's no editing here. It's as though you just came along and watched the magic unfold. Much thanks to Shriram for taking the time to chat with us. Flapjax is impressive. Do give it a try, Niners.&lt;/p&gt;</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_ch9.mp4" expression="full" duration="4344" fileSize="428587390" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_ch9.mp3" expression="full" duration="4344" fileSize="34756382" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_ch9.mp4" expression="full" duration="4344" fileSize="428587390" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_ch9.wma" expression="full" duration="4344" fileSize="70274557" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_ch9.wmv" expression="full" duration="4344" fileSize="608335507" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_2MB_ch9.wmv" expression="full" duration="4344" fileSize="1657936109" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_Zune_ch9.wmv" expression="full" duration="4344" fileSize="613391487" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/4/0/4/7/4/E2EWebProgrammingFlapJax_ch9.wmv" length="608335507" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>16</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Web-Programming-with-Flapjax/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/474049/Trackback.aspx</trackback:ping><category>Erik Meijer</category><category>Expert to Expert</category><category>Flapjax</category><category>Javascript</category><category>Programming</category><category>Programming Languages</category></item><item><title>Ben Livshits and Emre Kiciman - AjaxView, Performance Profiling of AJAX web sites</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/8/3/6/4/7/4/ajaxscope_small_ch9.png" border="0" /&gt;&lt;a href="http://research.microsoft.com/en-us/um/people/livshits/"&gt;Ben Livshits&lt;/a&gt; and &lt;a href="http://research.microsoft.com/en-us/people/emrek/"&gt;Emre Kiciman &lt;/a&gt;talk about the &lt;a href="http://code.msdn.microsoft.com/AjaxView"&gt;Ajax Profiling Extensions&lt;/a&gt; (also known as AjaxView), a tool that allows to profile web sites using Ajax. The tool lets you investigate the performance of the client side javascript! Ben and Emre explain how the profiling works, i.e. how they instrument the javascript on the fly, collect execution traces, and so forth. They also show a really cool demo of the tool where they turn on profiling for a couple web pages, then analyze the performance directly in Visual Studio.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;Ajax Profiling Extensions @msdn: &lt;a href="http://code.msdn.microsoft.com/AjaxView"&gt;http://code.msdn.microsoft.com/AjaxView&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;AjaxView @MSR: &lt;a href="http://research.microsoft.com/en-us/projects/ajaxview/"&gt;http://research.microsoft.com/en-us/projects/ajaxview/&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;(We have a new jingle for the RiSE videos thanks the musical talent of &lt;/em&gt;&lt;a href="http://research.microsoft.com/en-us/people/tball/"&gt;&lt;em&gt;Tom Ball&lt;/em&gt;&lt;/a&gt;&lt;em&gt;. The full track of "San Juan Strut" can be found at  &lt;/em&gt;&lt;a href="http://www.themiddlethird.org"&gt;&lt;em&gt;www.themiddlethird.org&lt;/em&gt;&lt;/a&gt;&lt;em&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;The &lt;/i&gt;&lt;a href="http://research.microsoft.com/rise"&gt;&lt;i&gt;Research in Software Engineering team&lt;/i&gt;&lt;/a&gt;&lt;i&gt; (RiSE) coordinates Microsoft's research in Software Engineering in Redmond, USA.&lt;/i&gt;&lt;/p&gt;&lt;img src="http://channel9.msdn.com/474638/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Peli/AjaxView-Performance-Profiling-of-AJAX-web-sites/</comments><link>http://channel9.msdn.com/posts/Peli/AjaxView-Performance-Profiling-of-AJAX-web-sites/</link><pubDate>Mon, 22 Jun 2009 18:34:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/8/3/6/4/7/4/ajaxscope_ch9.wmv</guid><evnet:views>49881</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/474638/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Ben Livshits and Emre Kiciman talk about the Ajax Profiling Extensions (also known as AjaxView), a tool that allows to profile web sites using Ajax. The tool lets you profile the client side javascript and investigate the performance in Visual Studio...</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/3/6/4/7/4/ajaxscope_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/3/6/4/7/4/ajaxscope_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/3/6/4/7/4/ajaxscope_ch9.mp4" expression="full" duration="2043" fileSize="180160956" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/3/6/4/7/4/ajaxscope_ch9.mp3" expression="full" duration="2043" fileSize="16352884" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/3/6/4/7/4/ajaxscope_ch9.mp4" expression="full" duration="2043" fileSize="180160956" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/3/6/4/7/4/ajaxscope_ch9.wma" expression="full" duration="2043" fileSize="33061005" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/3/6/4/7/4/ajaxscope_ch9.wmv" expression="full" duration="2043" fileSize="287521701" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/3/6/4/7/4/ajaxscope_2MB_ch9.wmv" expression="full" duration="2043" fileSize="361208377" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/3/6/4/7/4/ajaxscope_Zune_ch9.wmv" expression="full" duration="2043" fileSize="160097681" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/3/6/4/7/4/ajaxscope_2MB_ch9.wmv" expression="full" duration="2043" fileSize="361208377" type="video/x-ms-asf" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/3/6/4/7/4/ajaxscope_ch9.wmv" length="287521701" type="video/x-ms-wmv" /><dc:creator>Peli de Halleux</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Peli/AjaxView-Performance-Profiling-of-AJAX-web-sites/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/474638/Trackback.aspx</trackback:ping><category>Ajax</category><category>Javascript</category><category>Power</category><category>rise</category><category>Visual Studio</category></item><item><title>Extreme ASP.NET Makeover: jQuery - Applying ThemeRoller to ScrewTurn Wiki</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/0/2/7/4/ThemeRollerFirefoxBookmarklet_small_ch9.png" border="0" /&gt;&lt;p&gt;Take a look at the final result, shown below, of switching the selected theme to UI Lightness and UI Darkness, which are the unmodified jQuery UI Themes added to ScrewTurn Wiki’s /Themes folder.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" align="left" src="http://msdnstage.redmond.corp.microsoft.com/dd898316.ajax6(en-us,MSDN.10).jpg" /&gt;&lt;img alt="" align="middle" src="http://msdnstage.redmond.corp.microsoft.com/dd898316.ajax7(en-us,MSDN.10).jpg" /&gt;&lt;br /&gt;
&lt;br /&gt;
The layout could use a little tweaking here and there and I haven’t updated all the pages to use jQuery UI Themes, but the technique works. We can now use ThemeRoller to build custom ScrewTurn Wiki Themes. If you use Firefox, you can use the ThemeRoller Firefox Bookmarklet to design custom themes right on your own wiki! Once you’re satisfied with the results, just download your new custom theme and deploy it to your /Themes directory.&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Other videos from this article&lt;/h2&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Improving-User-Interaction/"&gt;Improving User Interaction&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-jQuery-UI-In-ScrewTurn-Wiki/"&gt;jQuery UI In ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Re-Theming-ScrewTurn-Wiki/"&gt;Re-Theming ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-jQuery-UI-Themes-in-ScrewTurn-Wiki/"&gt;jQuery UI Themes in ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Applying-ThemeRoller-to-ScrewTurn-Wiki/"&gt;Applying ThemeRoller to ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Read the full article at &lt;a href="http://msdn.microsoft.com/en-us/magazine/dd898316.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/dd898316.aspx&lt;/a&gt; &lt;/h2&gt;&lt;img src="http://channel9.msdn.com/472083/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Applying-ThemeRoller-to-ScrewTurn-Wiki/</comments><link>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Applying-ThemeRoller-to-ScrewTurn-Wiki/</link><pubDate>Fri, 05 Jun 2009 23:06:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/0/2/7/4/ThemeRollerFirefoxBookmarklet_2MB_ch9.wmv</guid><evnet:views>9073</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/472083/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Take a look at the final result, shown below, of switching the selected theme to UI Lightness and UI Darkness, which are the unmodified jQuery UI Themes added to ScrewTurn Wiki’s /Themes folder.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/0/2/7/4/ThemeRollerFirefoxBookmarklet_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/0/2/7/4/ThemeRollerFirefoxBookmarklet_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/0/2/7/4/ThemeRollerFirefoxBookmarklet_ch9.mp4" expression="full" duration="196" fileSize="5215977" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/0/2/7/4/ThemeRollerFirefoxBookmarklet_ch9.mp3" expression="full" duration="196" fileSize="1572923" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/0/2/7/4/ThemeRollerFirefoxBookmarklet_ch9.mp4" expression="full" duration="196" fileSize="5215977" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/0/2/7/4/ThemeRollerFirefoxBookmarklet_ch9.wma" expression="full" duration="196" fileSize="3198241" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/0/2/7/4/ThemeRollerFirefoxBookmarklet_2MB_ch9.wmv" expression="full" duration="196" fileSize="5273032" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/0/2/7/4/ThemeRollerFirefoxBookmarklet_2MB_ch9.wmv" expression="full" duration="196" fileSize="5273032" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/0/2/7/4/ThemeRollerFirefoxBookmarklet_Zune_ch9.wmv" expression="full" duration="196" fileSize="5126599" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/0/2/7/4/ThemeRollerFirefoxBookmarklet_2MB_ch9.wmv" length="5273032" type="video/x-ms-wmv" /><dc:creator>Howard Dierking</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Applying-ThemeRoller-to-ScrewTurn-Wiki/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/472083/Trackback.aspx</trackback:ping><category>ASP.NET</category><category>Brownfield Development</category><category>Javascript</category><category>jQuery</category><category>MSDN Magazine</category></item><item><title>Extreme ASP.NET Makeover: jQuery - jQuery UI Themes in ScrewTurn Wiki</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/2/7/4/jQueryUiThemeForScrewTurnWiki_small_ch9.png" border="0" /&gt;&lt;p&gt;So I got to thinking. It is hard to create ScrewTurn Wiki Themes. It is dead easy to create jQuery UI Themes. Could jQuery UI Themes be adapted to theme ScrewTurn Wiki? I decided to find out and it turned out to be a lot easier than I ever expected.&lt;/p&gt;
&lt;p&gt;jQuery UI Themes are designed to style widgets, which typically have header and content areas. ScrewTurn Wiki has a similar layout with headers and content areas for the navigation bar, main content area, and other sections. jQuery UI Themes don’t include overall site layout because they are intended for widgets, which fit into an existing site layout. I created a generic (predominantly) layout-based CSS file to be shared across themes called /Themes/Main.css.&lt;/p&gt;
&lt;p&gt;The three most important jQuery UI CSS Framework-related CSS classes for theming ScrewTurn Wiki are ui-widget, ui-widget-header, and ui-widget-content. ui-widget is used for the widget container and defines the font used for widget elements. The other two classes obviously define header and content areas. Armed with this knowledge, I applied the ui-widget and ui-widget-content CSS classes to the body tags in the master pages to provide the font and background style. I then added the ui-widget-header CSS class to h1 through h6 tags in Core\Formatter.cs. Last stop was Default.aspx, where I made the following two changes:&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl29_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl29');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl29"&gt;&amp;lt;h1 class="pagetitle ui-widget-header"&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;and&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl30_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl30');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl30"&gt;&amp;lt;div id="PageContentDiv" class="ui-widget-content"&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Other videos from this article&lt;/h2&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Improving-User-Interaction/"&gt;Improving User Interaction&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-jQuery-UI-In-ScrewTurn-Wiki/"&gt;jQuery UI In ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Re-Theming-ScrewTurn-Wiki/"&gt;Re-Theming ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-jQuery-UI-Themes-in-ScrewTurn-Wiki/"&gt;jQuery UI Themes in ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Applying-ThemeRoller-to-ScrewTurn-Wiki/"&gt;Applying ThemeRoller to ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Read the full article at &lt;a href="http://msdn.microsoft.com/en-us/magazine/dd898316.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/dd898316.aspx&lt;/a&gt; &lt;/h2&gt;&lt;img src="http://channel9.msdn.com/472082/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-jQuery-UI-Themes-in-ScrewTurn-Wiki/</comments><link>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-jQuery-UI-Themes-in-ScrewTurn-Wiki/</link><pubDate>Fri, 05 Jun 2009 23:06:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/2/7/4/jQueryUiThemeForScrewTurnWiki_2MB_ch9.wmv</guid><evnet:views>9742</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/472082/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>So I got to thinking. It is hard to create ScrewTurn Wiki Themes. It is dead easy to create jQuery UI Themes. Could jQuery UI Themes be adapted to theme ScrewTurn Wiki? I decided to find out and it turned out to be a lot easier than I ever expected.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/2/7/4/jQueryUiThemeForScrewTurnWiki_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/2/7/4/jQueryUiThemeForScrewTurnWiki_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/2/7/4/jQueryUiThemeForScrewTurnWiki_ch9.mp4" expression="full" duration="297" fileSize="8333462" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/2/7/4/jQueryUiThemeForScrewTurnWiki_ch9.mp3" expression="full" duration="297" fileSize="2379793" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/2/7/4/jQueryUiThemeForScrewTurnWiki_ch9.mp4" expression="full" duration="297" fileSize="8333462" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/2/7/4/jQueryUiThemeForScrewTurnWiki_ch9.wma" expression="full" duration="297" fileSize="4817397" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/2/7/4/jQueryUiThemeForScrewTurnWiki_2MB_ch9.wmv" expression="full" duration="297" fileSize="9000602" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/2/7/4/jQueryUiThemeForScrewTurnWiki_2MB_ch9.wmv" expression="full" duration="297" fileSize="9000602" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/2/7/4/jQueryUiThemeForScrewTurnWiki_Zune_ch9.wmv" expression="full" duration="297" fileSize="8151205" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/8/0/2/7/4/jQueryUiThemeForScrewTurnWiki_2MB_ch9.wmv" length="9000602" type="video/x-ms-wmv" /><dc:creator>Howard Dierking</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-jQuery-UI-Themes-in-ScrewTurn-Wiki/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/472082/Trackback.aspx</trackback:ping><category>ASP.NET</category><category>Brownfield Development</category><category>Javascript</category><category>jQuery</category><category>MSDN Magazine</category></item><item><title>Extreme ASP.NET Makeover: jQuery - Re-Theming ScrewTurn Wiki</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/0/2/7/4/jQueryUiThemes_small_ch9.png" border="0" /&gt;&lt;h2 id="d"&gt;Re-Theming ScrewTurn Wiki&lt;/h2&gt;
&lt;p&gt;&lt;img alt="" align="left" src="http://msdnstage.redmond.corp.microsoft.com/dd898316.ajax4(en-us,MSDN.10).jpg" /&gt;&lt;img alt="" align="middle" src="http://msdnstage.redmond.corp.microsoft.com/dd898316.ajax5(en-us,MSDN.10).jpg" /&gt;&lt;br /&gt;
&lt;br /&gt;
ScrewTurn Wiki ships with two themes – Default and Elegant, as shown above. The themes reside in the Theme folder and consist of a set of Cascading Style Sheets and images. As we saw in &lt;a href="http://channel9.msdn.com/magazine/dd894045.aspxid="&gt;Part 3&lt;/a&gt; , the CSS for a theme is quite long and involved. The two &lt;a href="http://screwturn.eu/UsersThemes.ashx" id="ctl00_mainContentContainer_ctl27"&gt;user-contributed themes&lt;/a&gt; available on the ScrewTurn Wiki site include the “Updated Default Theme,” which is a slight alteration of the Default Theme, and the “GreyBoxed Theme,” which is described as a cross between Elegant and Default. This does not speak well for the ease of custom theme creation for ScrewTurn Wiki.&lt;/p&gt;
&lt;p&gt;jQuery UI includes the jQuery UI CSS Framework, which is used to create themes for widgets. It defines a set of standard CSS classes that themes can override to provide a custom look and feel. In addition to the 17 pre-built themes, jQuery UI also has the ThemeRoller, which allows you tocreate your own custom themes for jQuery UI widgets. You can take a quick tour of jQuery UI Themes and ThemeRoller.&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Other videos from this article&lt;/h2&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Improving-User-Interaction/"&gt;Improving User Interaction&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-jQuery-UI-In-ScrewTurn-Wiki/"&gt;jQuery UI In ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Re-Theming-ScrewTurn-Wiki/"&gt;Re-Theming ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-jQuery-UI-Themes-in-ScrewTurn-Wiki/"&gt;jQuery UI Themes in ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Applying-ThemeRoller-to-ScrewTurn-Wiki/"&gt;Applying ThemeRoller to ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Read the full article at &lt;a href="http://msdn.microsoft.com/en-us/magazine/dd898316.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/dd898316.aspx&lt;/a&gt; &lt;/h2&gt;&lt;img src="http://channel9.msdn.com/472081/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Re-Theming-ScrewTurn-Wiki/</comments><link>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Re-Theming-ScrewTurn-Wiki/</link><pubDate>Fri, 05 Jun 2009 23:05:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/0/2/7/4/jQueryUiThemes_2MB_ch9.wmv</guid><evnet:views>8474</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/472081/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>jQuery UI includes the jQuery UI CSS Framework, which is used to create themes for widgets. It defines a set of standard CSS classes that themes can override to provide a custom look and feel. In addition to the 17 pre-built themes, jQuery UI also has the ThemeRoller, which allows you tocreate your own custom themes for jQuery UI widgets. You can take a quick tour of jQuery UI Themes and ThemeRoller.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/0/2/7/4/jQueryUiThemes_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/0/2/7/4/jQueryUiThemes_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/0/2/7/4/jQueryUiThemes_ch9.mp4" expression="full" duration="182" fileSize="5500753" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/0/2/7/4/jQueryUiThemes_ch9.mp3" expression="full" duration="182" fileSize="1461537" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/0/2/7/4/jQueryUiThemes_ch9.mp4" expression="full" duration="182" fileSize="5500753" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/0/2/7/4/jQueryUiThemes_ch9.wma" expression="full" duration="182" fileSize="2960925" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/0/2/7/4/jQueryUiThemes_2MB_ch9.wmv" expression="full" duration="182" fileSize="8201350" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/0/2/7/4/jQueryUiThemes_2MB_ch9.wmv" expression="full" duration="182" fileSize="8201350" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/0/2/7/4/jQueryUiThemes_Zune_ch9.wmv" expression="full" duration="182" fileSize="5590515" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/0/2/7/4/jQueryUiThemes_2MB_ch9.wmv" length="8201350" type="video/x-ms-wmv" /><dc:creator>Howard Dierking</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Re-Theming-ScrewTurn-Wiki/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/472081/Trackback.aspx</trackback:ping><category>ASP.NET</category><category>Brownfield Development</category><category>Javascript</category><category>jQuery</category><category>MSDN Magazine</category></item><item><title>Extreme ASP.NET Makeover: jQuery - jQuery UI In ScrewTurn Wiki</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/0/2/7/4/jQueryUiDialogWidgetInAction_small_ch9.png" border="0" /&gt;&lt;h2 id="c"&gt;Integrating jQuery UI into ScrewTurn Wiki&lt;/h2&gt;
&lt;p&gt;You’ve probably already guessed that ScrewTurn Wiki has an ugly confirmation dialog somewhere. The place to find it is in Edit.aspx. Simply log in as the admin (the default username/password is admin/password) and click the “Edit this Page” link. Click on any link to navigate away from the Edit.aspx page and you’re presented with the box shown below.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" align="middle" src="http://msdnstage.redmond.corp.microsoft.com/dd898316.ajax2(en-us,MSDN.10).jpg" /&gt;&lt;br /&gt;
&lt;br /&gt;
This confirmation dialog is displayed by hooking the window’s onbeforeunload event and passing a warning message to display:&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl16_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl16');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl16"&gt;function __UnloadPage(e) { &lt;br /&gt;  if (!submitted) { &lt;br /&gt;    e.returnValue = " "; &lt;br /&gt;  } &lt;br /&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;ScrewTurn Wiki passes a single space as the warning message, which is the empty line that appears between “Are you sure…” and “Press OK to continue…” in the confirmation dialog. The onbeforeunload event is not a standard HTML DOM event and has problematic support across browsers. ScrewTurn Wiki’s event hook mechanism only works on Internet Explorer and Firefox.&lt;/p&gt;
&lt;p&gt;We’ll replace this unsightly confirmation dialog using jQuery UI’s Dialog widget. First, we can simply delete the onbeforeunload-related JavaScript from Edit.aspx and Edit.aspx.cs. Next, we’ll download a customized version of jQuery UI. (There is no option to download an uncustomized version because at a minimum, you need to select a theme.) From the &lt;a href="http://jqueryui.com/download" id="ctl00_mainContentContainer_ctl17"&gt;jQuery UI download page&lt;/a&gt;, you can choose your desired components and a theme. We’ll use the UI Lightness theme, as it fits with the overall look and feel of ScrewTurn Wiki’s Default and Elegant themes.&lt;/p&gt;
&lt;p&gt;The downloaded zip file contains quite a few files, but we’ll only need the contents of the js and css folders. (The development-bundle folder contains demos, documentation, un-minified CSS and JavaScript, and development tools. If you want to learn how jQuery UI works, this is a good place to look.) The js folder includes jquery-1.3.2.min.js and jquery-ui-1.7.1.custom.min.js and both files can be added to ScrewTurn Wiki’s JS folder. The css folder contains theUIi-lightness theme, which can be added to ScrewTurn Wiki’s Themes folder. If you want to use multiple jQuery UI themes on your Web site, only the contents of the css folder changes when switching themes. Jquery-ui-1.7.1.custom.min.js remains the same, so long as you don’t change the selected components.&lt;/p&gt;
&lt;p&gt;To use jQuery UI, we need to add references to the jQuery and jQuery UI JavaScript files as well as the jQuery UI theme style sheet. ScrewTurn Wiki automatically includes all JavaScript files in the JS directory. So we need only add the link to the CSS file in MasterPageSA.master, Edit.aspx’s master page:&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl18_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl18');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl18"&gt;&amp;lt;link rel="stylesheet" type="text/css" &lt;br /&gt;  href="Themes/ui-lightness/jquery-ui-1.7.1.custom.css" /&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;In Edit.aspx, we will call the enablePendingChangesWarning JavaScript function, which we will define in ScrewTurnWiki.js. By placing the function in ScrewTurnWiki.js, we can make this functionality reusable across the application. The dialog itself is defined by a simple div tag:&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl19_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl19');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl19"&gt;&amp;lt;div id='confirmDialog' title='Confirm'&amp;gt; &lt;br /&gt;  &amp;lt;p&amp;gt; &lt;br /&gt;    &amp;lt;span class='ui-icon ui-icon-alert' &lt;br /&gt;      style='float:left; margin: 0 7px 20px 0;'&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;    Are you sure you want to abandon your changes? &lt;br /&gt;  &amp;lt;/p&amp;gt; &lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The elements of the dialog should be immediately obvious, except for the span tag. The span with CSS classes is the way that jQuery UI defines themable icons. So, “ui-icon” specifies that this span is an icon and “ui-icon-alert” selects a particular icon.&lt;/p&gt;
&lt;p&gt;Now we could insist that any page that wants to display a pending changes warning has to include this &amp;lt;div id=’confirmDialog’/&amp;gt; on the page. This would error prone and jQuery provides a better way. The first step in enablePendingChangesWarning is to use jQuery to manipulate the HTML DOM and append the confirmDialog div to the body:&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl20_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl20');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl20"&gt;$('body').append("&amp;lt;div id='confirmDialog' title='Confirm'&amp;gt;&amp;lt;p&amp;gt;&amp;lt;span class='ui-icon ui-icon-alert' style='float:left; margin:0 7px 20px 0;'&amp;gt;&amp;lt;/span&amp;gt;Are you sure you want to abandon your changes?&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;");&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Once the added, we need to call the jQuery UI dialog function to change our ordinary div into a jQuery UI Dialog widget, as shown below.&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl21_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl21');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl21"&gt;$('#confirmDialog').dialog({ &lt;br /&gt;  autoOpen: false, &lt;br /&gt;  modal: true, &lt;br /&gt;  overlay: { backgroundColor: '#000', &lt;br /&gt;    opacity: 0.5 }, &lt;br /&gt;  buttons: { &lt;br /&gt;    Ok: function() { &lt;br /&gt;      var href = $(this).dialog('option', 'href'); &lt;br /&gt;      window.location.href = href; &lt;br /&gt;    }, &lt;br /&gt;    Cancel: function() { &lt;br /&gt;      $(this).dialog('close'); &lt;br /&gt;    } &lt;br /&gt;  } &lt;br /&gt;});&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;We’re creating an initially hidden “autoOpen: false” modal dialog. Notice the button definitions. Cancel simply closes the dialog. We’ll come back and talk about the OK button in just a second.&lt;/p&gt;
&lt;p&gt;The dialog has to be displayed in response to the user navigating away from the page unintentionally. This is going to happen when a link is clicked. We could manually hook up the onclick events on the page, but this would again be error prone. jQuery once again provides us with a better way:&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl22_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl22');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl22"&gt;$('a').click(function(event) { &lt;br /&gt;  event.preventDefault(); &lt;br /&gt;  $('#confirmDialog').dialog( &lt;br /&gt;    'option', &lt;br /&gt;    'href', &lt;br /&gt;    this.href).dialog('open'); &lt;br /&gt;});&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;We use jQuery to select all anchors (&amp;lt;a/&amp;gt;) on the page and register a click event handler for them. When the href is clicked, the confirmDialog is displayed. Event.preventDefault prevents the default action of following the link from occurring. Otherwise, the link would be followed as soon as the confirmDialog is displayed. We then pass the href of the anchor link to the confirmDialog as an option. Now you can figure out what the OK button does. If OK is pressed, this href is retrieved from the dialog’s options and used to set the window.location.href, which causes the browser to navigate to the destination page. This gives us a confirmation dialog that fits into the site’s theme, as we see below.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" align="middle" src="http://msdnstage.redmond.corp.microsoft.com/dd898316.ajax3(en-us,MSDN.10).jpg" /&gt;&lt;br /&gt;
&lt;br /&gt;
Notice the greyed out page effect behind the dialog, which was achieved using the opacity overlay. We only have one minor problem to deal with. The edit page has a few anchor tags that don’t navigate away from the page, but instead refresh the page attachments list or show a list of content templates. We don’t want to display the Confirm Dialog for these links, which look like &amp;lt;a href=’javascript:__doPostBack(‘mangledControlName’,’’). Rather than simply selecting all anchor tags, we can use an advanced jQuery selector to filter out the undesired elements:&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl23_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl23');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl23"&gt;$('a:not(a[href^=javascript])').click(&lt;br /&gt;  function(event) { &lt;br /&gt;    event.preventDefault(); &lt;br /&gt;    $('#confirmDialog').dialog('option', 'href', &lt;br /&gt;      this.href).dialog('open'); &lt;br /&gt;});&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Note that a[href^=javascript] selects all anchor tags whose href attribute starts with “javascript”. Also, $= matches attributes ending with a particular string. (The use of ^ and $ come from regular expressions where ^ denotes the start of the line and $ the end.) The :not filter removes the href=javascript anchors from the collection of all anchors, which were selected with the first “a.” You can find a list of all selectors in the &lt;a href="http://docs.jquery.com/Selectors" id="ctl00_mainContentContainer_ctl24" target="_blank"&gt;jQuery Selector documentation&lt;/a&gt;.&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Other videos from this article&lt;/h2&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Improving-User-Interaction/"&gt;Improving User Interaction&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-jQuery-UI-In-ScrewTurn-Wiki/"&gt;jQuery UI In ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Re-Theming-ScrewTurn-Wiki/"&gt;Re-Theming ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-jQuery-UI-Themes-in-ScrewTurn-Wiki/"&gt;jQuery UI Themes in ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Applying-ThemeRoller-to-ScrewTurn-Wiki/"&gt;Applying ThemeRoller to ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Read the full article at &lt;a href="http://msdn.microsoft.com/en-us/magazine/dd898316.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/dd898316.aspx&lt;/a&gt; &lt;/h2&gt;&lt;img src="http://channel9.msdn.com/472080/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-jQuery-UI-In-ScrewTurn-Wiki/</comments><link>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-jQuery-UI-In-ScrewTurn-Wiki/</link><pubDate>Fri, 05 Jun 2009 23:05:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/0/2/7/4/jQueryUiDialogWidgetInAction_2MB_ch9.wmv</guid><evnet:views>10263</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/472080/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>You’ve probably already guessed that ScrewTurn Wiki has an ugly confirmation dialog somewhere. The place to find it is in Edit.aspx. Simply log in as the admin (the default username/password is admin/password) and click the “Edit this Page” link.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/0/2/7/4/jQueryUiDialogWidgetInAction_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/0/2/7/4/jQueryUiDialogWidgetInAction_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/0/2/7/4/jQueryUiDialogWidgetInAction_ch9.mp4" expression="full" duration="254" fileSize="6560127" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/0/2/7/4/jQueryUiDialogWidgetInAction_ch9.mp3" expression="full" duration="254" fileSize="2034768" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/0/2/7/4/jQueryUiDialogWidgetInAction_ch9.mp4" expression="full" duration="254" fileSize="6560127" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/0/2/7/4/jQueryUiDialogWidgetInAction_ch9.wma" expression="full" duration="254" fileSize="4117465" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/0/2/7/4/jQueryUiDialogWidgetInAction_2MB_ch9.wmv" expression="full" duration="254" fileSize="5591058" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/0/2/7/4/jQueryUiDialogWidgetInAction_2MB_ch9.wmv" expression="full" duration="254" fileSize="5591058" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/0/2/7/4/jQueryUiDialogWidgetInAction_Zune_ch9.wmv" expression="full" duration="254" fileSize="6262947" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/0/2/7/4/jQueryUiDialogWidgetInAction_2MB_ch9.wmv" length="5591058" type="video/x-ms-wmv" /><dc:creator>Howard Dierking</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-jQuery-UI-In-ScrewTurn-Wiki/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/472080/Trackback.aspx</trackback:ping><category>ASP.NET</category><category>Brownfield Development</category><category>Javascript</category><category>jQuery</category><category>MSDN Magazine</category></item><item><title>Extreme ASP.NET Makeover: jQuery - Improving User Interaction</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/9/7/0/2/7/4/jQueryUiTour_small_ch9.png" border="0" /&gt;&lt;h2 id="b"&gt;Improving User Interaction&lt;/h2&gt;
&lt;p&gt;Imagine the following scenario: With the assistance of the CSS Refactoring Helper, we have created an aesthetically pleasing XHTML/CSS-based site. We have spent days—nay, weeks—toiling away to get the site layout and images just right. We’re working on an edit page and we want to warn the user if they try to navigate away without saving their changes. So we display a confirm dialog, using the JavaScript confirm(message) function and we’re presented with the dialog box shown below.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" align="middle" src="http://msdnstage.redmond.corp.microsoft.com/dd898316.ajax1(en-us,MSDN.10).jpg" /&gt;&lt;br /&gt;
&lt;br /&gt;
How unsightly! Unfortunately, there is no way to style the appearance of the JavaScript confirm dialog. (A JavaScript alert and prompt dialogs are equally impossible to style and just as ugly.) Another option is to use a popup window, but you have little to no control over the window chrome (or titlebar/border.) On the plus side, you can style the contents of the popup window using XHTML/CSS. On the downside, many users have a popup blocker enabled, which limits their utility.&lt;/p&gt;
&lt;p&gt;So, how can we display a confirmation dialog that is aesthetically pleasing and integrates with the overall look and feel of our site? One way is to use the Dialog widget from jQuery UI. &lt;a href="http://jqueryui.com/" id="ctl00_mainContentContainer_ctl14"&gt;jQuery UI&lt;/a&gt; is a collection of user interface components built on top of jQuery. jQuery UI is available in a variety of themes and consists of a CSS file, a JavaScript file, and a set of images. It includes a variety of interactions (e.g., draggable, resizable), widgets (e.g., dialog, tabs, datepicker), and effects(e.g., bounce, highlight, shake).&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Other videos from this article&lt;/h2&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Improving-User-Interaction/"&gt;Improving User Interaction&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-jQuery-UI-In-ScrewTurn-Wiki/"&gt;jQuery UI In ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Re-Theming-ScrewTurn-Wiki/"&gt;Re-Theming ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-jQuery-UI-Themes-in-ScrewTurn-Wiki/"&gt;jQuery UI Themes in ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Applying-ThemeRoller-to-ScrewTurn-Wiki/"&gt;Applying ThemeRoller to ScrewTurn Wiki&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Read the full article at &lt;a href="http://msdn.microsoft.com/en-us/magazine/dd898316.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/dd898316.aspx&lt;/a&gt; &lt;/h2&gt;&lt;img src="http://channel9.msdn.com/472079/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Improving-User-Interaction/</comments><link>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Improving-User-Interaction/</link><pubDate>Fri, 05 Jun 2009 23:05:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/9/7/0/2/7/4/jQueryUiTour_2MB_ch9.wmv</guid><evnet:views>9258</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/472079/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Imagine the following scenario: With the assistance of the CSS Refactoring Helper, we have created an aesthetically pleasing XHTML/CSS-based site. We have spent days—nay, weeks—toiling away to get the site layout and images just right. We’re working on an edit page and we want to warn the user if they try to navigate away without saving their changes.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/7/0/2/7/4/jQueryUiTour_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/7/0/2/7/4/jQueryUiTour_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/7/0/2/7/4/jQueryUiTour_ch9.mp4" expression="full" duration="806" fileSize="19885376" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/7/0/2/7/4/jQueryUiTour_ch9.mp3" expression="full" duration="806" fileSize="6452387" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/7/0/2/7/4/jQueryUiTour_ch9.mp4" expression="full" duration="806" fileSize="19885376" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/7/0/2/7/4/jQueryUiTour_ch9.wma" expression="full" duration="806" fileSize="13048357" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/7/0/2/7/4/jQueryUiTour_2MB_ch9.wmv" expression="full" duration="806" fileSize="18482038" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/7/0/2/7/4/jQueryUiTour_2MB_ch9.wmv" expression="full" duration="806" fileSize="18482038" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/7/0/2/7/4/jQueryUiTour_Zune_ch9.wmv" expression="full" duration="806" fileSize="19530259" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/7/0/2/7/4/jQueryUiTour_2MB_ch9.wmv" length="18482038" type="video/x-ms-wmv" /><dc:creator>Howard Dierking</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-jQuery-Improving-User-Interaction/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/472079/Trackback.aspx</trackback:ping><category>ASP.NET</category><category>Brownfield Development</category><category>Javascript</category><category>jQuery</category><category>MSDN Magazine</category></item><item><title>Extreme ASP.NET Makeover: Script - jQuery SoC</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/9/0/7/4/TheFinalRefactoring_small_ch9.png" border="0" /&gt;&lt;h2 id="i"&gt;Separating Your Concerns with jQuery&lt;/h2&gt;
&lt;p&gt;In your typical Web page, JavaScript is often found liberally sprinkled throughout the HTML. Little snippets of inline code in event handlers to catch clicks, mouse-overs, key presses and more. For example, ScrewTurn Wiki’s admin tools menu is toggled by clicking on the Admin link, which executes a call to the __ToggleAdminToolsMenu() function. (To see the Admin link, log in using the username/password of admin/password.)&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl26_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl26');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl26"&gt;&amp;lt;a id="AdminToolsLink" title="Administration Tools" &lt;br /&gt;href="#" &lt;br /&gt;onclick="javascript:return __ToggleAdminToolsMenu();"&amp;gt;&lt;br /&gt;Admin&amp;lt;/a&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Rather than having the onclick event wired up in the HTML, we could use the following markup instead:&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl27_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl27');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl27"&gt;&amp;lt;a id="AdminToolsLink" title="Administration Tools" href="#"&amp;gt;Admin&amp;lt;/a&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;And then apply the behavior in a script tag in the &amp;lt;head/&amp;gt; or preferably in a separate JavaScript file:&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl28_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl28');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl28"&gt;$(document).ready(function() { &lt;br /&gt;    $('#AdminToolsLink').click(function() { &lt;br /&gt;        return __ToggleAdminToolsMenu(); &lt;br /&gt;    }); &lt;br /&gt;});&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;jQuery encourages the separation of behavioral code from HTML markup.&lt;/p&gt;
&lt;p&gt;It doesn’t stop at moving function calls around. We can use jQuery to further refactor and simplify ScrewTurn Wiki’s JavaScript. Code related to showing/hiding page elements such as Admin Tools and Page Attachments is around 100 lines long, including comments and white space, but not including hooking up onclick, onhover and other events. That might not seem like a lot of code, but we can achieve the same effect for the Admin Tools with the following jQuery:&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl29_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl29');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl29"&gt;$(document).ready(function() { &lt;br /&gt;    $('#AdminToolsLink').click(function() { &lt;br /&gt;        $('#AdminToolsDiv').css({ 'z-index': '1', &lt;br /&gt;            'position': 'absolute', &lt;br /&gt;            'top': link.position().top + link.outerHeight() + 'px', &lt;br /&gt;            'left': (link.position().left - &lt;br /&gt;              (div.outerWidth() - link.outerWidth())) + "px" &lt;br /&gt;        }); &lt;br /&gt;        $('#AdminToolsDiv').toggle(); &lt;br /&gt;    }).click(); &lt;br /&gt;});&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;When AdminToolsLink is clicked, we use the built-in jQuery css() function to reposition the AdminToolsDiv correctly beneath the AdminToolsLink and then use the built-in toggle() function to toggle AdminToolsDiv between visible and hidden. Notice the parameterless click() function on the end. In jQuery, click(function() {}) hooks up an event handler while click() calls it. So we are setting up an event handler and immediately invoking it to toggle the menu to initially hidden. We can use the same technique for the Page Attachments, but we can take this a step further, as shown below.&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl30_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl30');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl30"&gt;$(document).ready(function() { &lt;br /&gt;    $('.dropdownMenu').click(function() { &lt;br /&gt;        var link = $(this); &lt;br /&gt;        var div = link.next('div'); &lt;br /&gt;        div.css({ 'z-index': '1', &lt;br /&gt;            'position': 'absolute', &lt;br /&gt;            'top': link.position().top + link.outerHeight() + 'px', &lt;br /&gt;            'left': (link.position().left - &lt;br /&gt;              (div.outerWidth() - link.outerWidth())) + "px" &lt;br /&gt;        }); &lt;br /&gt;        div.toggle(); &lt;br /&gt;    }).click(); &lt;br /&gt;});&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;We apply a CSS class of “dropdownMenu” to any page element that we want to use as a drop-down menu. The code above hooks the click event. When clicked, jQuery finds the next &amp;lt;div/&amp;gt; after the clicked element and toggles that &amp;lt;div/&amp;gt; between visible and hidden. We have moved from a procedural style of specifying how page elements are individually shown and hidden to a declarative style whereby applying a CSS class of “dropdownMenu” to an element makes its children toggle automatically. If we decide that we don’t like the toggle() effect, jQuery provides a variety of other visual effects, including fades, slides and custom animations.&lt;br /&gt;
&lt;br /&gt;
You can do a lot more with jQuery, including alternating row styles on tables, mouse-over effects, background loading and display of AJAX data, and more. An advanced UI library has been built on top of jQuery, which is aptly named &lt;a href="http://jqueryui.com/" id="ctl00_mainContentContainer_ctl32" target="_blank"&gt;jQueryUI&lt;/a&gt;. It builds on jQuery’s core events and animations to provide rich client-side widgets, such as date pickers, custom dialogs, progress bars, sliders and tabs, as well as rich interactions such as making page elements &lt;br /&gt;
draggable, resizable and sortable!&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Other videos from this article&lt;/h2&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-Testing-JavaScript/"&gt;Testing JavaScript&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-Refactoring-ScrewTurn-Wiki-JavaScript/"&gt;Refactoring ScrewTurn Wiki JavaScript&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-jQuery-IntelliSense/"&gt;jQuery IntelliSense&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-jQuery-SoC/"&gt;jQuery SoC&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Read the full article at &lt;a href="http://msdn.microsoft.com/en-us/magazine/dd896902.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/dd896902.aspx&lt;/a&gt; &lt;/h2&gt;&lt;img src="http://channel9.msdn.com/470985/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-jQuery-SoC/</comments><link>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-jQuery-SoC/</link><pubDate>Fri, 05 Jun 2009 07:01:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/9/0/7/4/TheFinalRefactoring_2MB_ch9.wmv</guid><evnet:views>6323</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/470985/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>In your typical Web page, JavaScript is often found liberally sprinkled throughout the HTML. Little snippets of inline code in event handlers to catch clicks, mouse-overs, key presses and more. For example, ScrewTurn Wiki’s admin tools menu is toggled by clicking on the Admin link, which executes a call to the __ToggleAdminToolsMenu() function. (To see the Admin link, log in using the username/password of admin/password.)</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/9/0/7/4/TheFinalRefactoring_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/9/0/7/4/TheFinalRefactoring_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/9/0/7/4/TheFinalRefactoring_ch9.mp4" expression="full" duration="216" fileSize="6092386" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/9/0/7/4/TheFinalRefactoring_ch9.mp3" expression="full" duration="216" fileSize="1734864" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/9/0/7/4/TheFinalRefactoring_ch9.mp4" expression="full" duration="216" fileSize="6092386" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/9/0/7/4/TheFinalRefactoring_ch9.wma" expression="full" duration="216" fileSize="3510657" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/9/0/7/4/TheFinalRefactoring_2MB_ch9.wmv" expression="full" duration="216" fileSize="5686116" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/9/0/7/4/TheFinalRefactoring_2MB_ch9.wmv" expression="full" duration="216" fileSize="5686116" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/9/0/7/4/TheFinalRefactoring_Zune_ch9.wmv" expression="full" duration="216" fileSize="5734719" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/9/0/7/4/TheFinalRefactoring_2MB_ch9.wmv" length="5686116" type="video/x-ms-wmv" /><dc:creator>Howard Dierking</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-jQuery-SoC/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/470985/Trackback.aspx</trackback:ping><category>ASP.NET</category><category>Brownfield Development</category><category>Javascript</category><category>jQuery</category><category>MSDN Magazine</category></item><item><title>Extreme ASP.NET Makeover: Script - jQuery IntelliSense</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/9/0/7/4/jQueryIntellisenseTipsAndTricks_small_ch9.png" border="0" /&gt;&lt;h2 id="g"&gt;ASIDE: jQuery IntelliSense&lt;/h2&gt;
&lt;p&gt;jQuery IntelliSense can be enabled in Visual Studio 2008 SP1 with a &lt;a href="http://code.msdn.microsoft.com/KB958502/Release/ProjectReleases.aspx?ReleaseId=1736" id="ctl00_mainContentContainer_ctl21" target="_blank"&gt;supported hotfix&lt;/a&gt; from Microsoft as detailed by Scott Guthrie’s &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/11/21/jquery-intellisense-in-vs-2008.aspx" id="ctl00_mainContentContainer_ctl22" target="_blank"&gt;blog&lt;/a&gt; . Watch the following video for tips, tricks, and gotchas when enabling jQuery IntelliSense in your projects.&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Other videos from this article&lt;/h2&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-Testing-JavaScript/"&gt;Testing JavaScript&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-Refactoring-ScrewTurn-Wiki-JavaScript/"&gt;Refactoring ScrewTurn Wiki JavaScript&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-jQuery-IntelliSense/"&gt;jQuery IntelliSense&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-jQuery-SoC/"&gt;jQuery SoC&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Read the full article at &lt;a href="http://msdn.microsoft.com/en-us/magazine/dd896902.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/dd896902.aspx&lt;/a&gt; &lt;/h2&gt;&lt;img src="http://channel9.msdn.com/470984/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-jQuery-IntelliSense/</comments><link>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-jQuery-IntelliSense/</link><pubDate>Fri, 05 Jun 2009 07:01:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/9/0/7/4/jQueryIntellisenseTipsAndTricks_2MB_ch9.wmv</guid><evnet:views>6537</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/470984/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>ASIDE: jQuery IntelliSense
jQuery IntelliSense can be enabled in Visual Studio 2008 SP1 with a supported hotfix from Microsoft as detailed by Scott Guthrie’s blog . Watch the following video for tips, tricks, and gotchas when enabling jQuery IntelliSense in your projects.


Other videos from this&amp;#8230;</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/9/0/7/4/jQueryIntellisenseTipsAndTricks_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/9/0/7/4/jQueryIntellisenseTipsAndTricks_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/9/0/7/4/jQueryIntellisenseTipsAndTricks_ch9.mp4" expression="full" duration="457" fileSize="11965035" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/9/0/7/4/jQueryIntellisenseTipsAndTricks_ch9.mp3" expression="full" duration="457" fileSize="3658312" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/9/0/7/4/jQueryIntellisenseTipsAndTricks_ch9.mp4" expression="full" duration="457" fileSize="11965035" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/9/0/7/4/jQueryIntellisenseTipsAndTricks_ch9.wma" expression="full" duration="457" fileSize="7403841" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/9/0/7/4/jQueryIntellisenseTipsAndTricks_2MB_ch9.wmv" expression="full" duration="457" fileSize="9335130" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/9/0/7/4/jQueryIntellisenseTipsAndTricks_2MB_ch9.wmv" expression="full" duration="457" fileSize="9335130" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/9/0/7/4/jQueryIntellisenseTipsAndTricks_Zune_ch9.wmv" expression="full" duration="457" fileSize="11848165" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/4/8/9/0/7/4/jQueryIntellisenseTipsAndTricks_2MB_ch9.wmv" length="9335130" type="video/x-ms-wmv" /><dc:creator>Howard Dierking</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-jQuery-IntelliSense/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/470984/Trackback.aspx</trackback:ping><category>ASP.NET</category><category>Brownfield Development</category><category>Javascript</category><category>jQuery</category><category>MSDN Magazine</category></item><item><title>Extreme ASP.NET Makeover: Script - Refactoring ScrewTurn Wiki JavaScript</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/9/0/7/4/jQueryMenuHidingDemo_small_ch9.png" border="0" /&gt;&lt;h2 id="e"&gt;Refactoring ScrewTurn Wiki’s JavaScript&lt;/h2&gt;
&lt;p&gt;The first step in refactoring ScrewTurn Wiki’s JavaScript is to extract it into separate JavaScript files. Not only will this allow us to test the JavaScript, but it also will improve page performance. This is due to decreased page size, as the browser can cache the JavaScript files rather than downloading them with every dynamic page. This is mostly a simple operation of moving the JavaScript from MasterPage.master and Default.aspx to ~/JS/ScrewTurnWiki.js, and including a reference to ScrewTurnWiki.js in MasterPage.master. (Moving the JavaScript from other pages to ScrewTurnWiki.js is left as an exercise for the reader.) ScrewTurn Wiki’s MasterPage.master calls Tools.GetIncludes() to automatically generate &amp;lt;script type=”text/javascript”/&amp;gt; tags for all JavaScript files in ~/JS/ and ~/Themes/&amp;lt;NAME&amp;gt;/, so we do not have to manually add ScrewTurnWiki.js.&lt;/p&gt;
&lt;p&gt;After moving the scripts to ~/JS/ScrewTurnWiki.js, ScrewTurn Wiki’s main page looks like this:&lt;/p&gt;
&lt;p&gt;&lt;img alt="" align="middle" src="http://i.msdn.microsoft.com/dd896902.figure2(en-us,MSDN.10).jpg" /&gt;&lt;br /&gt;
&lt;br /&gt;
Notice the “Name Size” box that appears at the bottom of the page beneath the Warning? This is the PageAttachmentsDiv that is supposed to be hidden. Here is the code to hide that:&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl12_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl12');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl12"&gt;var __elem = document.getElementById("PageAttachmentsDiv"); &lt;br /&gt;if (document.getElementById("PageAttachmentsLink")) { &lt;br /&gt;    __RepositionDiv(document.getElementById("PageAttachmentsLink"), __elem); &lt;br /&gt;} &lt;br /&gt;__elem.style[:display"] = "none";&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Before moving the code, the above JavaScript was placed after the &amp;lt;div id=”PageAttachementsDiv”/&amp;gt; . When the code executed, the &amp;lt;div/&amp;gt; existed and was hidden properly. When the code is moved into ScrewTurnWiki.js, it is executed before the &amp;lt;div/&amp;gt; is created and nothing happens. The &amp;lt;div/&amp;gt; is later created and remains visible. The solution is to simply move the above loose JavaScript into a doWindowLoad() function and execute that function when the window finishes loading:&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl13_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl13');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl13"&gt;window.onload = doWindowLoad; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function doWindowLoad() { &lt;br /&gt;    var __elem = document.getElementById("PageAttachmentsDiv"); &lt;br /&gt;    if (document.getElementById("PageAttachmentsLink")) { &lt;br /&gt;        __RepositionDiv(document.getElementById("PageAttachmentsLink"), __elem); &lt;br /&gt;    } &lt;br /&gt;    __elem.style["display"] = "none"; &lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    // Additional code that needs to executed when the HTML DOM &lt;br /&gt;    // is loaded and ready for manipulation &lt;br /&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;ScrewTurn Wiki now looks and behaves the way it did before the JavaScript was relocated, as we see below.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" align="middle" src="http://i.msdn.microsoft.com/dd896902.figure3(en-us,MSDN.10).jpg" /&gt;&lt;br /&gt;
&lt;br /&gt;
Now that the JavaScript has been relocated into a separate file, we can use QUnit to test whether PageAttachmentsDiv is hidden when the page loads. In QUnitTests.html – our HTML page test harness – we create a dummy &amp;lt;div/&amp;gt; with the same ID:&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl14_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl14');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl14"&gt;&amp;lt;div id="PageAttachmentsDiv" style="width:100px;height:100px;"&amp;gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Then in our test, we explicitly call the doWindowLoad() function and verify that PageAttachmentsDiv is hidden:&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl15_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl15');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl15"&gt;test('PageAttachmentsDiv should be initially hidden', function() { &lt;br /&gt;    doWindowLoad(); &lt;br /&gt;    var display = document.getElementById('PageAttachmentsDiv').style['display']; &lt;br /&gt;    equals(display, 'none'); &lt;br /&gt;});&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Using dummy page elements in the test harness is easier than trying to test the actual page elements on the live page. To avoid polluting the test harness output with dummy elements, the containing &amp;lt;div/&amp;gt; can be marked as hidden (display:none;) or absolutely positioned outside of the visible content (position:absolute;left:-1000px;top:-1000px;). The choice of technique depends on what you are trying to test, as hiding the &amp;lt;div/&amp;gt; sometimes interferes with layout-related tests.&lt;/p&gt;
&lt;h2 id="f"&gt;Getting Jiggy with jQuery&lt;/h2&gt;
&lt;p&gt;With our QUnit test harness in place, we are ready to refactor ScrewTurn Wiki’s JavaScript using jQuery. Let’s start by taking a look at hiding the PageAttachmentsDiv:&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl16_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl16');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl16"&gt;var element = document.getElementById("PageAttachmentsDiv"); &lt;br /&gt;element.style["display"] = "none";&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The following jQuery code implements the same functionality:&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl17_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl17');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl17"&gt;$('#PageAttachmentsDiv').hide(); // $() is an alias for jquery()&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;(Note that you need to include a reference to the jQuery library in your page using a &amp;lt;script/&amp;gt; tag.) The jQuery version is terser, using the CSS-style “#” to indicate ID-based selection, and the more declarative “hide()” method. It might seem like a small savings until you realize the power disguised behind the apparent simplicity. What if we want to hide all menus on the page with the CSS class of “menu”?&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl18_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl18');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl18"&gt;$('.menu').hide();&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;There is no need to walk the HTML DOM or iterate for-loops. jQuery handles all of this transparently for you.&lt;/p&gt;
&lt;p&gt;jQuery uses CSS-like selectors to operate on collections of HTML DOM elements. So we can play even more powerful tricks, such as hiding all menus, but only if their direct parent is a &amp;lt;div/&amp;gt; with CSS class “toplevel”:&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl19_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl19');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl19"&gt;$('div.toplevel &amp;gt; .menu').hide();&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;jQuery is not only encouraging us to write less code, but also a more functional style of code. To make this clearer, consider hiding all menus using procedural-style code:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Start with the document element. &lt;/li&gt;
    &lt;li&gt;For each child element
    &lt;ul&gt;
        &lt;li&gt;If it is a menu, change its style to display: none. &lt;/li&gt;
        &lt;li&gt;Else, iterate through its children from Step 2. &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A functional style says:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Hide all menus. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Functional-style code says what to do rather than how to do it. This is a subtle distinction, but an important one.&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Other videos from this article&lt;/h2&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-Testing-JavaScript/"&gt;Testing JavaScript&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-Refactoring-ScrewTurn-Wiki-JavaScript/"&gt;Refactoring ScrewTurn Wiki JavaScript&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-jQuery-IntelliSense/"&gt;jQuery IntelliSense&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-jQuery-SoC/"&gt;jQuery SoC&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Read the full article at &lt;a href="http://msdn.microsoft.com/en-us/magazine/dd896902.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/dd896902.aspx&lt;/a&gt; &lt;/h2&gt;&lt;img src="http://channel9.msdn.com/470983/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-Refactoring-ScrewTurn-Wiki-JavaScript/</comments><link>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-Refactoring-ScrewTurn-Wiki-JavaScript/</link><pubDate>Fri, 05 Jun 2009 07:01:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/9/0/7/4/jQueryMenuHidingDemo_2MB_ch9.wmv</guid><evnet:views>6182</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/470983/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>The first step in refactoring ScrewTurn Wiki’s JavaScript is to extract it into separate JavaScript files. Not only will this allow us to test the JavaScript, but it also will improve page performance. This is due to decreased page size, as the browser can cache the JavaScript files rather than downloading them with every dynamic page. This is mostly a simple operation of moving the JavaScript from MasterPage.master and Default.aspx to ~/JS/ScrewTurnWiki.js, and including a reference to ScrewTurnWiki.js in MasterPage.master. (Moving the JavaScript from other pages to ScrewTurnWiki.js is left as an exercise for the reader.) ScrewTurn Wiki’s MasterPage.master calls Tools.GetIncludes() to automatically generate &amp;lt;script type=”text/javascript”/&amp;gt; tags for all JavaScript files in ~/JS/ and ~/Themes/&amp;lt;NAME&amp;gt;/, so we do not have to manually add ScrewTurnWiki.js.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/9/0/7/4/jQueryMenuHidingDemo_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/9/0/7/4/jQueryMenuHidingDemo_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/9/0/7/4/jQueryMenuHidingDemo_ch9.mp4" expression="full" duration="134" fileSize="3634999" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/9/0/7/4/jQueryMenuHidingDemo_ch9.mp3" expression="full" duration="134" fileSize="1077414" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/9/0/7/4/jQueryMenuHidingDemo_ch9.mp4" expression="full" duration="134" fileSize="3634999" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/9/0/7/4/jQueryMenuHidingDemo_ch9.wma" expression="full" duration="134" fileSize="2182889" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/9/0/7/4/jQueryMenuHidingDemo_2MB_ch9.wmv" expression="full" duration="134" fileSize="3503742" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/9/0/7/4/jQueryMenuHidingDemo_2MB_ch9.wmv" expression="full" duration="134" fileSize="3503742" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/9/0/7/4/jQueryMenuHidingDemo_Zune_ch9.wmv" expression="full" duration="134" fileSize="3510227" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/8/9/0/7/4/jQueryMenuHidingDemo_2MB_ch9.wmv" length="3503742" type="video/x-ms-wmv" /><dc:creator>Howard Dierking</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-Refactoring-ScrewTurn-Wiki-JavaScript/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/470983/Trackback.aspx</trackback:ping><category>ASP.NET</category><category>Brownfield Development</category><category>Javascript</category><category>jQuery</category><category>MSDN Magazine</category></item><item><title>Extreme ASP.NET Makeover: Script - Testing JavaScript</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/9/0/7/4/QUnitIntroduction_small_ch9.png" border="0" /&gt;&lt;h2 id="a"&gt;Lingua Franca of the Programmable Web&lt;/h2&gt;
&lt;p&gt;JavaScript is the lingua franca of Web programming languages. It doesn’t matter whether you’re programming in .NET, Ruby, Python, PHP or a myriad of other server-side languages, the programming language of the browser is JavaScript. The official standard is more properly called ECMAScript and is specified in ECMA-262. JavaScript, JScript, ActionScript and others are all dialects of ECMAScript, but written by different vendors. Current browsers implement ECMA-262 Edition 3, which has been a standard since 1999. (Work is ongoing on ECMA-262 Edition 5. Edition 4 was abandoned due to irreconcilable differences within the standards committee.) The JavaScript dialect is managed by the Mozilla Foundation and is implemented by Firefox, Google Chrome, Safari and other browsers. JScript is Microsoft’s dialect and is implemented in Internet Explorer. The dialects are compliant with ECMA-262, but offer vendor-specific extensions. Throughout this article, I will use the common practice of referring to the language as JavaScript, though more properly, it should be called ECMAScript.&lt;/p&gt;
&lt;h2 id="b"&gt;JavaScript Heritage&lt;/h2&gt;
&lt;p&gt;JavaScript has a reputation as a toy language. Many developers have the mistaken impression that JavaScript is a dumbed-down version of Java without strong typing. The reality couldn’t be further from the truth. When designing a new language for the Netscape browser, Brendan Eich, JavaScript’s creator, took inspiration from Self (a prototype-based object-oriented language) and Scheme (a functional language). The new language was named Mocha and later renamed LiveScript. With the surge in interest in Java in the late '90s, Mocha/LiveScript was rebranded JavaScript and modified to look more like Java, with curly braces and semicolons. In reality, JavaScript is more closely tied to its functional roots, where functions are treated as first-class citizens of the language. Although many developers still use JavaScript in a very procedural fashion, it is in fact a very powerful functional language that is running inside millions of Web browsers worldwide.&lt;/p&gt;
&lt;h2 id="c"&gt;JavaScript Renaissance&lt;/h2&gt;
&lt;p&gt;A renewed interest in JavaScript has been sparked by recent JavaScript frameworks, such as jQuery, Prototype, YUI, Dojo and MooTools. &lt;a href="http://jquery.com/" id="ctl00_mainContentContainer_ctl05" target="_blank"&gt;jQuery&lt;/a&gt; has received a lot of attention recently, due in part to its power, simplicity, and ease of extensibility. It was first released by &lt;a href="http://ejohn.org/" id="ctl00_mainContentContainer_ctl06" target="_blank"&gt;John Resig&lt;/a&gt; in 2006, and has since gathered an active community of contributors, plug-in authors and users. According to the jQuery Web site:&lt;/p&gt;
&lt;div&gt;
&lt;p&gt;&lt;i&gt;“jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. &lt;b&gt;jQuery is designed to change the way that you write JavaScript.&lt;/b&gt;” &lt;/i&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;jQuery received an additional boost on Sept. 28, 2008, when Scott Guthrie, corporate vice president of the Microsoft Developer Division, &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx" id="ctl00_mainContentContainer_ctl07" target="_blank"&gt;announced&lt;/a&gt; that Microsoft had partnered with the jQuery development team and would be shipping jQuery with Visual Studio going forward. This was a historic moment because jQuery is released under the &lt;a href="http://en.wikipedia.org/wiki/MIT_License" id="ctl00_mainContentContainer_ctl08" target="_blank"&gt;MIT open source license&lt;/a&gt;. Not only is Microsoft shipping an open source library with Visual Studio, it has committed to shipping the library unmodified and to contributing patches in the same way as any other developer or team.&lt;/p&gt;
&lt;p&gt;The latest release, as of this writing, is jQuery 1.3.2, and it supports the major browsers in use today, including Internet Explorer 6.0+, Firefox 2.0+, Safari 3.0+, Opera 9.0+ and Chrome. Web development and JavaScript have garnered a bad reputation in development circles, in large part due to browser-specific inconsistencies, bugs and quirks. To achieve cross-browser support, jQuery provides a consistent API for manipulating the HTML DOM, attaching events, animating elements and AJAX interactions, by internally handling differences between browsers.&lt;/p&gt;
&lt;h2 id="d"&gt;Testing JavaScript&lt;/h2&gt;
&lt;p&gt;Before diving headlong into replacing ScrewTurn Wiki’s classic-style JavaScript with jQuery-style JavaScript, we have to remember the purpose of refactoring – to change the internal implementation of code without changing its behavior. We could change the code and manually verify that the changes did not break anything, but we should be applying the same care with our JavaScript as we do with our server-side code. If this were C#, I would write a test to verify the current behavior, refactor the code and re-run the test to ensure that everything continued to behave as before. Why should I take any less care with client-side JavaScript? The question though is, how do I test JavaScript? The answer comes from jQuery itself.&lt;/p&gt;
&lt;p&gt;When developing jQuery, the jQuery team had much the same challenge – to verify that jQuery continued to work as expected, as optimizations and fixes were applied. Its solution was to create a lightweight JavaScript test framework called &lt;a href="http://docs.jquery.com/QUnit" id="ctl00_mainContentContainer_ctl09" target="_blank"&gt;QUnit&lt;/a&gt;. There is nothing jQuery-specific in QUnit, and you can use it to test any JavaScript code. A simple QUnit test might look like this:&lt;/p&gt;
&lt;div id="ctl00_mainContentContainer_ctl10_"&gt;
&lt;div class="CodeSnippetTitleBar"&gt;
&lt;div class="CodeDisplayLanguage"&gt;&lt;/div&gt;
&lt;div class="CopyCodeButton"&gt;&lt;a href="http://channel9.msdn.comCopyCode(ctl00_mainContentContainer_ctl10');" title="Copy Code" class="copyCode"&gt;
&lt;div align="middle" class="LibC_copy_off"&gt;&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class="libCScode" id="ctl00_mainContentContainer_ctl10"&gt;test('Concatenated hello should compare equal to hello', function() { &lt;br /&gt;    var actual = 'h' + 'e' + 'l' + 'l' + 'o'; &lt;br /&gt;    var expected = 'hello'; equals(actual, expected); &lt;br /&gt;});&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This test is embedded in a Web page test harness, and the results can be viewed in a browser, as shown in below.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" align="middle" src="http://i.msdn.microsoft.com/dd896902.figure1(en-us,MSDN.10).jpg" /&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Other videos from this article&lt;/h2&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-Testing-JavaScript/"&gt;Testing JavaScript&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-Refactoring-ScrewTurn-Wiki-JavaScript/"&gt;Refactoring ScrewTurn Wiki JavaScript&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-jQuery-IntelliSense/"&gt;jQuery IntelliSense&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;· &lt;a href="http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-jQuery-SoC/"&gt;jQuery SoC&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Read the full article at &lt;a href="http://msdn.microsoft.com/en-us/magazine/dd896902.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/dd896902.aspx&lt;/a&gt; &lt;/h2&gt;&lt;img src="http://channel9.msdn.com/470981/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-Testing-JavaScript/</comments><link>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-Testing-JavaScript/</link><pubDate>Fri, 05 Jun 2009 07:00:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/9/0/7/4/QUnitIntroduction_2MB_ch9.wmv</guid><evnet:views>6614</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/470981/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Before diving headlong into replacing ScrewTurn Wiki’s classic-style JavaScript with jQuery-style JavaScript, we have to remember the purpose of refactoring – to change the internal implementation of code without changing its behavior. We could change the code and manually verify that the changes did not break anything, but we should be applying the same care with our JavaScript as we do with our server-side code. If this were C#, I would write a test to verify the current behavior, refactor the code and re-run the test to ensure that everything continued to behave as before. Why should I take any less care with client-side JavaScript? The question though is, how do I test JavaScript? The answer comes from jQuery itself.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/9/0/7/4/QUnitIntroduction_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/9/0/7/4/QUnitIntroduction_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/9/0/7/4/QUnitIntroduction_ch9.mp4" expression="full" duration="413" fileSize="10633606" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/9/0/7/4/QUnitIntroduction_ch9.mp3" expression="full" duration="413" fileSize="3308271" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/9/0/7/4/QUnitIntroduction_ch9.mp4" expression="full" duration="413" fileSize="10633606" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/9/0/7/4/QUnitIntroduction_ch9.wma" expression="full" duration="413" fileSize="6691893" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/9/0/7/4/QUnitIntroduction_2MB_ch9.wmv" expression="full" duration="413" fileSize="8927630" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/9/0/7/4/QUnitIntroduction_2MB_ch9.wmv" expression="full" duration="413" fileSize="8927630" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/9/0/7/4/QUnitIntroduction_Zune_ch9.wmv" expression="full" duration="413" fileSize="10343901" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/9/0/7/4/QUnitIntroduction_2MB_ch9.wmv" length="8927630" type="video/x-ms-wmv" /><dc:creator>Howard Dierking</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/howarddierking/Extreme-ASPNET-Makeover-Script-Testing-JavaScript/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/470981/Trackback.aspx</trackback:ping><category>ASP.NET</category><category>Brownfield Development</category><category>Javascript</category><category>jQuery</category><category>MSDN Magazine</category></item><item><title>10-4 Episode 21: Web Tooling Improvements</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/7/7/0/1/7/4/104Episode20WebToolingImprovements_small_ch9.png" border="0" /&gt;In this episode of 10-4, &lt;a href="http://www.drewby.com"&gt;Drew Robbins&lt;/a&gt; covers some of the new web tooling features in Visual Studio 2010. There is new Code Snippet support for both HTML and JavaScript. In addition, Visual Studio now has a new dynamic JavaScript IntelliSense engine that infers the return type from functions and provides appropriate intellisense. This makes working with JavaScript libraries a lot easier.&lt;br /&gt;
&lt;br /&gt;
More detail about the web deployment features is covered in &lt;a href="http://channel9.msdn.com/shows/10-4/10-4-Episode-10-Making-Web-Deployment-Easier/"&gt;Episode 10: Making Web Deployment Easier&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Be sure to check out all of the &lt;a href="http://channel9.msdn.com/shows/10-4/"&gt;10-4 episodes &lt;/a&gt;where we cover many of the features in &lt;a href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx"&gt;Visual Studio 2010 Beta 1 and .NET Framework 4 Beta 1&lt;/a&gt;.&lt;img src="http://channel9.msdn.com/471077/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/10-4/10-4-Episode-21-Web-Tooling-Improvements/</comments><link>http://channel9.msdn.com/shows/10-4/10-4-Episode-21-Web-Tooling-Improvements/</link><pubDate>Fri, 29 May 2009 17:20:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/7/7/0/1/7/4/104Episode20WebToolingImprovements_2MB_ch9.wmv</guid><evnet:views>12118</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/471077/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>In this episode of 10-4, &lt;a href="http://www.drewby.com"&gt;Drew Robbins &lt;/a&gt;covers some of the new web tooling features in Visual Studio 2010. There is new Code Snippet support for both HTML and JavaScript. In addition, Visual Studio now has a new dynamic JavaScript IntelliSense engine that infers the return type from functions and provides appropriate intellisense. This makes working with JavaScript libraries a lot easier.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/7/0/1/7/4/104Episode20WebToolingImprovements_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/7/0/1/7/4/104Episode20WebToolingImprovements_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/7/0/1/7/4/104Episode20WebToolingImprovements_ch9.mp4" expression="full" duration="927" fileSize="26898258" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/7/0/1/7/4/104Episode20WebToolingImprovements_ch9.mp3" expression="full" duration="927" fileSize="7422458" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/7/0/1/7/4/104Episode20WebToolingImprovements_ch9.mp4" expression="full" duration="927" fileSize="26898258" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/7/0/1/7/4/104Episode20WebToolingImprovements_ch9.wma" expression="full" duration="927" fileSize="15018981" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/7/0/1/7/4/104Episode20WebToolingImprovements_2MB_ch9.wmv" expression="full" duration="927" fileSize="28869437" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/7/0/1/7/4/104Episode20WebToolingImprovements_2MB_ch9.wmv" expression="full" duration="927" fileSize="28869437" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/7/0/1/7/4/104Episode20WebToolingImprovements_Zune_ch9.wmv" expression="full" duration="927" fileSize="26602985" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/7/7/0/1/7/4/104Episode20WebToolingImprovements_2MB_ch9.wmv" length="28869437" type="video/x-ms-wmv" /><dc:creator>Drew Robbins</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/10-4/10-4-Episode-21-Web-Tooling-Improvements/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/471077/Trackback.aspx</trackback:ping><category>.NET Framework</category><category>.NET Framework 4.0 Visual Studio</category><category>ASP.NET</category><category>html</category><category>Javascript</category><category>Visual Studio</category></item><item><title>Expert to Expert - Erik Meijer and Lars Bak: Inside V8 - A Javascript Virtual Machine</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_small_ch9.png" border="0" /&gt;Lars Bak is a virtual machine master. He and team have created a Javascript VM, V8, that takes Javascript syntax and produces optimized machine code directly. The result is very performant execution of Javascript. How does V8 work, exactly? What are the basic design decisions that have gone into it's construction? Why is it designed the way it is? How fast can Javascript really run, anyway? How challenging is it to take a language like Javascript and produce highly optimized machine code? &lt;br /&gt;
&lt;br /&gt;
Erik Meijer, language designer and fundamentalist functional high priest, discusses these questions and more with Lars. We also talk about the language to machine code translation versus having an intermediate step (like IL) that gets optimized further in runtime context by a JITer. &lt;br /&gt;
&lt;br /&gt;
If you want to know the thinking behind the thinking of Javascript compilation, the current state of the art and future directions, then this is for you. Big thanks to Lars Bak for spending time with Channel 9! &lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;img src="http://channel9.msdn.com/466955/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Lars-Bak-Inside-V8-A-Javascript-Virtual-Machine/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Lars-Bak-Inside-V8-A-Javascript-Virtual-Machine/</link><pubDate>Wed, 29 Apr 2009 16:29:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_ch9.wmv</guid><evnet:views>39478</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/466955/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Lars Bak is a virtual machine master. He and team have created a Javascript VM, V8, that takes Javascript syntax and produces optimized machine code directly. The result is very performant execution of Javascript. How does V8 work, exactly? What are the basic design decisions that have gone into it's construction? Why is it designed the way it is? How fast can Javascript really run, anyway? How challenging is it to take a language like Javascript and produce highly optimized machine code? &lt;br /&gt;
&lt;br /&gt;
Erik Meijer, language designer and fundamentalist functional high priest, discusses these questions and more with Lars. We also talk about the language to machine code translation versus having an intermediate step (like IL) that gets optimized further in runtime context by a JITer. &lt;br /&gt;
&lt;br /&gt;
If you want to know the thinking behind the thinking of Javascript compilation, the current state of the art and future directions, then this is for you. Big thanks to Lars Bak for spending time with Channel 9! &lt;br /&gt;</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_ch9.mp4" expression="full" duration="3281" fileSize="323446121" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_ch9.mp3" expression="full" duration="3281" fileSize="26253551" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_ch9.mp4" expression="full" duration="3281" fileSize="323446121" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_ch9.wma" expression="full" duration="3281" fileSize="53085669" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_ch9.wmv" expression="full" duration="3281" fileSize="198761129" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_2MB_ch9.wmv" expression="full" duration="3281" fileSize="929030574" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_Zune_ch9.wmv" expression="full" duration="3281" fileSize="411065109" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/5/9/6/6/4/E2ELangNET2009LarsBak_ch9.wmv" length="198761129" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>19</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Lars-Bak-Inside-V8-A-Javascript-Virtual-Machine/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/466955/Trackback.aspx</trackback:ping><category>Erik Meijer</category><category>Expert to Expert</category><category>Javascript</category><category>LangNET 2009</category><category>Lars Bak</category><category>V8</category><category>Virtual Machines</category><category>Web Browser</category></item><item><title>Glimmer: a jQuery Interactive Design Tool</title><description>The MIX Online team has released a new prototype tool from their lab called &lt;a href="http://visitmix.com/Lab/Glimmer" target="_blank"&gt;Glimmer&lt;/a&gt;, which should prove very helpful for web developers/designers wanting to easily incorporate jQuery in their web applications thanks to a simple and powerful UI-based composer.&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;"Glimmer is a WPF-based Windows application that allows you to easily create interactive elements on your web pages by harnessing the power of the &lt;/em&gt;&lt;a href="https://mail.windows.microsoft.com/OWA/redir.aspx?C=9fdfac9c9ba54b779254d833feda5f41&amp;amp;URL=http%3a%2f%2fjquery.com" target="_blank"&gt;&lt;em&gt;jQuery&lt;/em&gt;&lt;/a&gt;&lt;em&gt; library. Without having to hand-craft your JavaScript code, you can use Glimmer’s wizards to generate jQuery scripts for common interactive scenarios. Glimmer also has an advanced mode, providing a design surface for creating jQuery effects based on your existing HTML and CSS."&lt;/em&gt;&lt;img src="http://channel9.msdn.com/467222/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Glimmer-a-jQuery-Interactive-Design-Tool/</comments><link>http://channel9.msdn.com/posts/Charles/Glimmer-a-jQuery-Interactive-Design-Tool/</link><pubDate>Wed, 29 Apr 2009 02:45:00 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/posts/Charles/Glimmer-a-jQuery-Interactive-Design-Tool/</guid><evnet:views>21253</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/467222/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>The MIX Online team has released a new prototype tool from their lab called &lt;a href="http://visitmix.com/Lab/Glimmer" target="_blank"&gt;Glimmer&lt;/a&gt;, which should prove very helpful for web developers/designers wanting to easily incorporate jQuery in their web applications thanks to a simple and powerful UI-based composer.&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;"Glimmer is a WPF-based Windows application that allows you to easily create interactive elements on your web pages by harnessing the power of the &lt;/em&gt;&lt;a href="https://mail.windows.microsoft.com/OWA/redir.aspx?C=9fdfac9c9ba54b779254d833feda5f41&amp;amp;URL=http%3a%2f%2fjquery.com" target="_blank"&gt;&lt;em&gt;jQuery&lt;/em&gt;&lt;/a&gt;&lt;em&gt; library. Without having to hand-craft your JavaScript code, you can use Glimmer’s wizards to generate jQuery scripts for common interactive scenarios. Glimmer also has an advanced mode, providing a design surface for creating jQuery effects based on your existing HTML and CSS."&lt;/em&gt;</evnet:previewtext><dc:creator>Charles</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Glimmer-a-jQuery-Interactive-Design-Tool/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/467222/Trackback.aspx</trackback:ping><category>Glimmer</category><category>Javascript</category><category>jQuery</category><category>Programming</category><category>WPF</category></item><item><title>Northeast Roadshow - Exploring Internet Explorer 8</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/5/1/0/7/6/4/ExploringIE8_small_ch9.png" border="0" /&gt;There are plenty of new things to talk about with Internet Explorer 8, and no time like the present since it’s officially released! In this screencast, we begin with a tour of the new consumer features from the relatively minor of tab groups and improved zooming through the major with tab process isolation, Accelerators, and WebSlices. Then, a brief but important look at standards and compatibility options every web developer should understand. Finally, there’s a look at new developer features including an in-depth look at the developer tools included with IE8 to help work with HTML, CSS, and JavaScript. &lt;br /&gt;
&lt;br /&gt;
Slides from the session are available on the &lt;a href="https://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=northeast&amp;amp;ReleaseId=2491"&gt;Northeast Roadshow Code Gallery&lt;/a&gt;. &lt;br /&gt;&lt;img src="http://channel9.msdn.com/467015/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/dpeeast/Northeast-Roadshow-Exploring-Internet-Explorer-8/</comments><link>http://channel9.msdn.com/posts/dpeeast/Northeast-Roadshow-Exploring-Internet-Explorer-8/</link><pubDate>Tue, 28 Apr 2009 15:16:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/5/1/0/7/6/4/ExploringIE8_ch9.wmv</guid><evnet:views>2578</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/467015/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>There are plenty of new things to talk about with Internet Explorer 8, and no time like the present since it’s officially released!  In this screencast, we begin with a tour of the new consumer features from the relatively minor of tab groups and improved zooming through the major with tab process isolation, Accelerators, and WebSlices.  Then, a brief but important look at standards and compatibility options every web developer should understand.  Finally, there’s a look at new developer features including an in-depth look at the developer tools included with IE8.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/1/0/7/6/4/ExploringIE8_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/1/0/7/6/4/ExploringIE8_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/1/0/7/6/4/ExploringIE8_ch9.mp4" expression="full" duration="2431" fileSize="72858763" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/1/0/7/6/4/ExploringIE8_ch9.mp3" expression="full" duration="2431" fileSize="19449139" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/1/0/7/6/4/ExploringIE8_ch9.mp4" expression="full" duration="2431" fileSize="72858763" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/1/0/7/6/4/ExploringIE8_ch9.wma" expression="full" duration="2431" fileSize="39321341" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/1/0/7/6/4/ExploringIE8_ch9.wmv" expression="full" duration="2431" fileSize="78740023" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/1/0/7/6/4/ExploringIE8_2MB_ch9.wmv" expression="full" duration="2431" fileSize="73693239" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/1/0/7/6/4/ExploringIE8_Zune_ch9.wmv" expression="full" duration="2431" fileSize="69156003" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/1/0/7/6/4/ExploringIE8_2MB_ch9.wmv" expression="full" duration="2431" fileSize="73693239" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/1/0/7/6/4/ExploringIE8_2MB_ch9.wmv" expression="full" duration="2431" fileSize="73693239" type="video/x-ms-asf" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/1/0/7/6/4/ExploringIE8_ch9.wmv" length="78740023" type="video/x-ms-wmv" /><dc:creator>Brian Johnson</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/dpeeast/Northeast-Roadshow-Exploring-Internet-Explorer-8/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/467015/Trackback.aspx</trackback:ping><category>Accelerators</category><category>CSS</category><category>dpeeast</category><category>html</category><category>IE8</category><category>Internet Explorer 8</category><category>Javascript</category><category>northeast</category><category>Web Slices</category></item><item><title>Librería ASP.NET AJAX cliente y código Javascript</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/3/0/5/4/ASPNETAJAXjs_small_ch9.jpg" border="0" /&gt;Jose Manuel Alarcón Aguín, director general y director tecnico de Krasis, hace un repaso a las mejoras incorporadas en Visual Studio 2008 para el desarrollo con Javascript.&lt;br /&gt;
&lt;br /&gt;
Tanto desde el punto de vista de mejoras en el entorno de  desarrollo como a nivel de la librería ASP.NET AJAX del lado del cliente.&lt;img src="http://channel9.msdn.com/450385/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Daniel+Garzon/Librera-ASPNET-AJAX-cliente-y-cdigo-Javascript-en-Visual-Studio-2008/</comments><link>http://channel9.msdn.com/posts/Daniel+Garzon/Librera-ASPNET-AJAX-cliente-y-cdigo-Javascript-en-Visual-Studio-2008/</link><pubDate>Thu, 22 Jan 2009 09:59:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/3/0/5/4/ASPNETAJAXjs_ch9.wmv</guid><evnet:views>6343</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/450385/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Jose Manuel Alarcón Aguín, director general y director tecnico de Krasis, hace un repaso a las mejoras incorporadas en Visual Studio 2008 para el desarrollo con Javascript.

Tanto desde el punto de vista de mejoras en el entorno de  desarrollo como a nivel de la librería ASP.NET AJAX del lado del cliente.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/3/0/5/4/ASPNETAJAXjs_large_ch9.jpg" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/3/0/5/4/ASPNETAJAXjs_small_ch9.jpg" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/3/0/5/4/ASPNETAJAXjs_ch9.mp4" expression="full" duration="1572" fileSize="190489944" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/3/0/5/4/ASPNETAJAXjs_ch9.mp3" expression="full" duration="1572" fileSize="12583079" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/3/0/5/4/ASPNETAJAXjs_ch9.mp4" expression="full" duration="1572" fileSize="190489944" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/3/0/5/4/ASPNETAJAXjs_ch9.wma" expression="full" duration="1572" fileSize="25442861" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/3/0/5/4/ASPNETAJAXjs_ch9.wmv" expression="full" duration="1572" fileSize="72046875" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/3/0/5/4/ASPNETAJAXjs_2MB_ch9.wmv" expression="full" duration="1572" fileSize="82641109" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/3/0/5/4/ASPNETAJAXjs_Zune_ch9.wmv" expression="full" duration="1572" fileSize="75678855" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/3/0/5/4/ASPNETAJAXjs_2MB_ch9.wmv" expression="full" duration="1572" fileSize="82641109" type="video/x-ms-asf" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/3/0/5/4/ASPNETAJAXjs_ch9.wmv" length="72046875" type="video/x-ms-wmv" /><dc:creator>Daniel Garzon</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Daniel+Garzon/Librera-ASPNET-AJAX-cliente-y-cdigo-Javascript-en-Visual-Studio-2008/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/450385/Trackback.aspx</trackback:ping><category>ASP.NET AJAX</category><category>es-es</category><category>Javascript</category><category>Spain</category><category>Spanish</category></item><item><title>Mejorar el rendimiento de la descarga de librerías Javascript</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/3/0/5/4/OptLibJS_small_ch9.jpg" border="0" /&gt;Jose Manuel Alarcón Aguín, director general y director tecnico de Krasis, nos muestra como evitar que el navegador tenga que descargar multitud de archivos de script desde el servidor, se sustituirán éstas por una descarga combinada, más eficiente y rápida.&lt;br /&gt;
&lt;br /&gt;
Esta característica ha sido introducida en el Service Pack 1 de ASP.NET 3.5. Por lo tanto aplica a .NET 3.5 y Visual Studio 2008.&lt;img src="http://channel9.msdn.com/450380/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Daniel+Garzon/Mejorar-el-rendimiento-de-la-descarga-de-libreras-Javascript/</comments><link>http://channel9.msdn.com/posts/Daniel+Garzon/Mejorar-el-rendimiento-de-la-descarga-de-libreras-Javascript/</link><pubDate>Tue, 30 Dec 2008 13:28:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/3/0/5/4/OptLibJS_ch9.wmv</guid><evnet:views>6033</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/450380/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Jose Manuel Alarcón Aguín, director general y director tecnico de Krasis, nos muestra como evitar que el navegador tenga que descargar multitud de archivos de script desde el servidor, se sustituirán éstas por una descarga combinada, más eficiente y rápida.

Esta característica ha sido introducida&amp;#8230;</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/3/0/5/4/OptLibJS_large_ch9.jpg" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/3/0/5/4/OptLibJS_small_ch9.jpg" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/3/0/5/4/OptLibJS_ch9.mp4" expression="full" duration="467" fileSize="63721198" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/3/0/5/4/OptLibJS_ch9.mp3" expression="full" duration="467" fileSize="3740316" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/3/0/5/4/OptLibJS_ch9.mp4" expression="full" duration="467" fileSize="63721198" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/3/0/5/4/OptLibJS_ch9.wma" expression="full" duration="467" fileSize="7566057" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/3/0/5/4/OptLibJS_ch9.wmv" expression="full" duration="467" fileSize="22760245" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/3/0/5/4/OptLibJS_2MB_ch9.wmv" expression="full" duration="467" fileSize="24508229" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/3/0/5/4/OptLibJS_Zune_ch9.wmv" expression="full" duration="467" fileSize="24040225" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/3/0/5/4/OptLibJS_2MB_ch9.wmv" expression="full" duration="467" fileSize="24508229" type="video/x-ms-asf" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/8/3/0/5/4/OptLibJS_ch9.wmv" length="22760245" type="video/x-ms-wmv" /><dc:creator>Daniel Garzon</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Daniel+Garzon/Mejorar-el-rendimiento-de-la-descarga-de-libreras-Javascript/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/450380/Trackback.aspx</trackback:ping><category>es-es</category><category>Javascript</category><category>Spain</category><category>Spanish</category></item><item><title>Scott Isaacs: Introducing Web Sandbox</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/9/6/0/5/3/4/IntroducingWebSandbox_small_ch9.jpg" border="0" /&gt;&lt;a href="http://websandbox.livelabs.com/" target="_blank"&gt;Web Sandbox&lt;/a&gt; is a project from &lt;a href="http://livelabs.com" target="_blank"&gt;Live Labs&lt;/a&gt;, a group focused on Internet technologies. Dragos Manolescu (who worked on Live Labs and Political Streams) and Scott Isaacs (who worked on Windows Live Gadgets and is credited with the creation of DHTML) made the initial project pitch. Since then the Web Sandbox team leveraged the expertise of and talent from other groups interested in securing the web, such as Windows Live, MSN and DP Languages.
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;You have to check this out:&lt;br /&gt;
&lt;a href="http://websandbox.livelabs.com/"&gt;http://websandbox.livelabs.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Please try and break the isolation model by injecting clever scripts on the websandbox website. If you find gaping holes, share it right in the forums on the site (they are fundamentally transparent).&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;/p&gt;&lt;img src="http://channel9.msdn.com/435069/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Scott-Isaacs-Introducing-Web-Sandbox/</comments><link>http://channel9.msdn.com/posts/Charles/Scott-Isaacs-Introducing-Web-Sandbox/</link><pubDate>Fri, 31 Oct 2008 17:19:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/9/6/0/5/3/4/IntroducingWebSandbox_ch9.wmv</guid><evnet:views>57340</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/435069/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Web Sandbox is a project from Live Labs, a group focused on Internet technologies. Dragos Manolescu (who worked on Live Labs and Political Streams) and Scott Isaacs (who worked on Windows Live Gadgets) made the initial project pitch. Since then the Web Sandbox team leveraged the expertise of and talent from other groups interested in securing the web, such as Windows Live, MSN and DP Languages. You have to check this out:http://websandbox.livelabs.com/ Please try and break the isolation model by injecting clever scripts on the websandbox website. If you find gaping holes, share it right in the forums on the site (they are fundamentally transparent).Enjoy!</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/6/0/5/3/4/IntroducingWebSandbox_large_ch9.jpg" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/6/0/5/3/4/IntroducingWebSandbox_small_ch9.jpg" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/6/0/5/3/4/IntroducingWebSandbox_ch9.mp4" expression="full" duration="2584" fileSize="146683160" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/6/0/5/3/4/IntroducingWebSandbox_ch9.mp3" expression="full" duration="2584" fileSize="20673016" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/6/0/5/3/4/IntroducingWebSandbox_ch9.mp4" expression="full" duration="2584" fileSize="146683160" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/6/0/5/3/4/IntroducingWebSandbox_ch9.wma" expression="full" duration="2584" fileSize="20904005" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/6/0/5/3/4/IntroducingWebSandbox_ch9.wmv" expression="full" duration="2584" fileSize="160880719" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/6/0/5/3/4/IntroducingWebSandbox_2MB_ch9.wmv" expression="full" duration="2584" fileSize="808797449" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/6/0/5/3/4/IntroducingWebSandbox_Zune_ch9.wmv" expression="full" duration="2584" fileSize="204821131" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/9/6/0/5/3/4/IntroducingWebSandbox_ch9.wmv" length="160880719" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Scott-Isaacs-Introducing-Web-Sandbox/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/435069/Trackback.aspx</trackback:ping><category>Dragos Manolescu</category><category>html</category><category>Javascript</category><category>Live Labs</category><category>Programming</category><category>Scott Isaacs</category><category>Web Sandbox</category><category>Web standards</category></item><item><title>Erik Meijer, Dave Thomas and Pratap Lakshman: Perspectives on JavaScript and Language Design</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/4/1/3/4/JAOO2008MeijerThomasJavaScript_small_ch9.jpg" border="0" /&gt;JavaScript is a language that appears to have a long lifespan given its ubiquity on the web. It pretty much powers the client-side in-page execution of hundreds of millions of web pages. As a language, well, it's cool and strange at the same time. It's not evolved much over the years and is the topic of hot debate in the halls of the web standards committee. At any rate, a few people who know a thing or two about dynamic languages joined me in a conversation to address JavaScript and dynamic languages for the web, generally. The great &lt;a href="http://www.davethomas.net/" target="_blank"&gt;Dave Thomas&lt;/a&gt; and fundamentalist functional languages high priest Erik Meijer sit down with Microsoft JScript Program Manager Pratap Lakshman and myself to converse on JavaScript the language and virtual machine. Of course, as you can imagine, the conversation winds effortlesssly into various geeky tangents.&lt;br /&gt;
&lt;br /&gt;
This is the second year I've been lucky enough to take part in the cross-platform software engineering conference &lt;a href="http://jaoo.dk/" target="_blank"&gt;JAOO&lt;/a&gt;. Like &lt;a href="http://channel9.msdn.com/tags/JAOO2007/" target="_blank"&gt;last year&lt;/a&gt;, I was very fortunate to get to sit down with a few key players in the programming languages design field and watch several technical presentations that span the industry and problems we face as software developers. One of the truly great things about JAOO is that it is not a product-focused conference: it's about programming first and foremost and enables the sharing of perspectives and ideas among the world's best and brightest programming minds. As you can imagine, I, like many technical types here at Microsoft, am a huge fan of JAOO. Thank you &lt;a href="http://www.trifork.com/" target="_blank"&gt;Trifork&lt;/a&gt;!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;img src="http://channel9.msdn.com/431406/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Erik-Meijer-Dave-Thomas-and-Pratap-Lakshman-Perspectives-on-JavaScript/</comments><link>http://channel9.msdn.com/posts/Charles/Erik-Meijer-Dave-Thomas-and-Pratap-Lakshman-Perspectives-on-JavaScript/</link><pubDate>Tue, 07 Oct 2008 10:51:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/4/1/3/4/JAOO2008MeijerThomasJavaScript_ch9.wmv</guid><evnet:views>52632</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/431406/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>A few people who know a thing or two about dynamic languages joined me in a conversation to address JavaScript and dynamic languages for the web, generally. The great Dave Thomas and fundamentalist functional languages high priest Erik Meijer sit down with Microsoft JScript Program Manager Pratap Lakshman and myself to converse on JavaScript the language and virtual machine. Of course, as you can imagine, the conversation winds effortlesssly into various geeky tangents.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/4/1/3/4/JAOO2008MeijerThomasJavaScript_large_ch9.jpg" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/4/1/3/4/JAOO2008MeijerThomasJavaScript_small_ch9.jpg" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/4/1/3/4/JAOO2008MeijerThomasJavaScript_ch9.mp4" expression="full" duration="3160" fileSize="179355003" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/4/1/3/4/JAOO2008MeijerThomasJavaScript_ch9.mp3" expression="full" duration="3160" fileSize="25281515" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/4/1/3/4/JAOO2008MeijerThomasJavaScript_ch9.mp4" expression="full" duration="3160" fileSize="179355003" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/4/1/3/4/JAOO2008MeijerThomasJavaScript_ch9.wma" expression="full" duration="3160" fileSize="25563093" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/4/1/3/4/JAOO2008MeijerThomasJavaScript_ch9.wmv" expression="full" duration="3160" fileSize="200416715" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/4/1/3/4/JAOO2008MeijerThomasJavaScript_2MB_ch9.wmv" expression="full" duration="3160" fileSize="989256905" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/4/1/3/4/JAOO2008MeijerThomasJavaScript_Zune_ch9.wmv" expression="full" duration="3160" fileSize="250472471" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/6/0/4/1/3/4/JAOO2008MeijerThomasJavaScript_ch9.wmv" length="200416715" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>7</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Erik-Meijer-Dave-Thomas-and-Pratap-Lakshman-Perspectives-on-JavaScript/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/431406/Trackback.aspx</trackback:ping><category>Dave Thomas</category><category>Erik Meijer</category><category>JAOO2008</category><category>Javascript</category><category>Programming Languages</category></item><item><title>What's New for JScript in IE8?</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/5/9/1/3/2/4/JScriptPM_small_ch9.jpg" border="0" /&gt;&lt;p&gt;The web developer community is curious to know what’s new for JScript in IE8. In this show,  the JScript Evangelist, Janakiram MSV interviews the program managers who own the key JScript features. &lt;/p&gt;
&lt;p&gt;The JScript team is based out of IDC in Hyderabad. We own the scripting engine for IE8 &amp;amp; Silverlight and provide authoring and tooling experience through Visual Studio and IE8.  We also engage with the ECMA standards body to drive the JScript standardization process.&lt;/p&gt;
&lt;p&gt;This is show is to breifly share the work that we do here. You will hear us talk about the new and improved JScript engine and the Developer Tools that are part of IE8.&lt;/p&gt;
&lt;p&gt;You can find our team blog at &lt;a href="http://blogs.msdn.com/jscript"&gt;http://blogs.msdn.com/jscript&lt;/a&gt;! Feel free to drop a comment with your feedback!&lt;/p&gt;
&lt;p&gt;Happy Scripting!&lt;/p&gt;&lt;img src="http://channel9.msdn.com/423195/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/janakiram/Whats-New-for-JScript-in-IE8/</comments><link>http://channel9.msdn.com/posts/janakiram/Whats-New-for-JScript-in-IE8/</link><pubDate>Tue, 09 Sep 2008 02:12:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/5/9/1/3/2/4/JScriptPM_ch9.wmv</guid><evnet:views>102790</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/423195/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>The web developer community is curious to know what’s new for JScript in IE8. In this show,  the JScript Evangelist, Janakiram MSV interviews the program managers who own the key JScript features.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/9/1/3/2/4/JScriptPM_large_ch9.jpg" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/9/1/3/2/4/JScriptPM_small_ch9.jpg" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/9/1/3/2/4/JScriptPM_ch9.mp4" expression="full" duration="986" fileSize="53500485" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/9/1/3/2/4/JScriptPM_ch9.mp3" expression="full" duration="986" fileSize="7889188" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/9/1/3/2/4/JScriptPM_ch9.mp4" expression="full" duration="986" fileSize="53500485" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/9/1/3/2/4/JScriptPM_ch9.wma" expression="full" duration="986" fileSize="7983685" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/9/1/3/2/4/JScriptPM_ch9.wmv" expression="full" duration="986" fileSize="62520407" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/9/1/3/2/4/JScriptPM_2MB_ch9.wmv" expression="full" duration="986" fileSize="259819351" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/9/1/3/2/4/JScriptPM_Zune_ch9.wmv" expression="full" duration="986" fileSize="67883427" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/5/9/1/3/2/4/JScriptPM_ch9.wmv" length="62520407" type="video/x-ms-wmv" /><dc:creator>Janakiram MSV</dc:creator><slash:comments>10</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/janakiram/Whats-New-for-JScript-in-IE8/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/423195/Trackback.aspx</trackback:ping><category>Developer Tools</category><category>IE8</category><category>India</category><category>Javascript</category><category>JScript</category><category>JScript Debugger</category><category>JSON</category></item></channel></rss>