<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results for 'app:weblogs' matching tag 'internetexplorer'</title><link>http://msmvps.com/search/SearchResults.aspx?q=app:weblogs&amp;tag=internetexplorer&amp;orTags=0&amp;o=DateDescending</link><description>Search results for 'app:weblogs' matching tag 'internetexplorer'</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>IE6 Migration Roadshow touring England</title><link>http://msmvps.com/blogs/jonoble/archive/2012/01/18/ie6-migration-roadshow-touring-england.aspx</link><pubDate>Wed, 18 Jan 2012 06:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1805038</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;Please stop using IE6.&lt;/p&gt;
&lt;p&gt;If you haven&amp;#39;t yet, then you might want to attend one of these events. This comes direct from Microsoft...&lt;/p&gt;
&lt;blockquote&gt;
&lt;p class="ecxMsoNormal"&gt;&lt;span&gt;We are thrilled to extend the invitation to you to attend our series of Internet Explorer 6 Migration Roadshow events!&lt;/span&gt;&lt;/p&gt;
&lt;p class="ecxMsoNormal"&gt;With support for Windows XP coming to an end on the 8&lt;sup&gt;th&lt;/sup&gt;&amp;nbsp;April 2014 and IE6 standing in so many people&amp;rsquo;s way of migration, what better time to start taking the leap to a more modern browser? Problem applications are all too often the blocker, so Microsoft have teamed up with&amp;nbsp;&lt;strong&gt;Camwood&lt;/strong&gt;,&amp;nbsp;&lt;strong&gt;Citrix Systems&lt;/strong&gt;&amp;nbsp;and&amp;nbsp;&lt;strong&gt;Quest Software&lt;/strong&gt;, all application compatibility experts, to help jump-start your move.&lt;/p&gt;
&lt;p class="ecxMsoNormal"&gt;Join us at a date below for a packed agenda discussing the&amp;nbsp;&lt;strong&gt;technical challenges&amp;nbsp;&lt;/strong&gt;faced by IT departments when migrating their users off of IE6. We will establish:&lt;/p&gt;
&lt;p class="ecxMsoListParagraph"&gt;&lt;span&gt;&amp;middot;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Why you should go through the trouble of migrating;&lt;/span&gt;&lt;/p&gt;
&lt;p class="ecxMsoListParagraph"&gt;&lt;span&gt;&amp;middot;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;How you go about identifying those problem applications;&lt;/span&gt;&lt;/p&gt;
&lt;p class="ecxMsoListParagraph"&gt;&lt;span&gt;&amp;middot;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;What you can do about them.&lt;/span&gt;&lt;/p&gt;
&lt;p class="ecxMsoNormal"&gt;There are a range of dates to choose from, each offering a slightly different spin and all promising to be thoroughly informative! Take your pick and use the links below to register with our partners.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span lang="EN"&gt;Who, Where &amp;amp; When?&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span lang="EN"&gt;&lt;br /&gt;&lt;strong&gt;Tues 21&lt;sup&gt;st&lt;/sup&gt;&amp;nbsp;February&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span lang="EN"&gt;&lt;br /&gt;Microsoft &amp;amp; Quest Software&amp;nbsp;&lt;br /&gt;Manchester United Football Ground (Old Trafford)&amp;nbsp;&lt;br /&gt;09:30 &amp;ndash; 14:00 (+Stadium Tour!)&lt;br /&gt;&lt;a href="http://www.quest-software.co.uk/landing/?ID=7174" target="_blank"&gt;More Information &amp;amp; Registration&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Thurs 22&lt;sup&gt;nd&lt;/sup&gt;&amp;nbsp;March&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;Microsoft &amp;amp; Citrix Systems (Including newly acquired AppDNA)&lt;br /&gt;Chalfont St. Peter (Easy access via the M40 &amp;amp; M25 as well as rail)&lt;br /&gt;09:00 &amp;ndash; 16:00&lt;br /&gt;&lt;a href="http://www.citrixappdnaevents.com/ie6-migration-roadshow" target="_blank"&gt;More Information &amp;amp; Registration&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Tues 3&lt;sup&gt;rd&lt;/sup&gt;&amp;nbsp;April&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;Microsoft &amp;amp; Camwood&amp;nbsp;&lt;br /&gt;London, Cardinal Place&amp;nbsp;&lt;br /&gt;More Information &amp;amp; Registration TBC&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Thurs 19&lt;sup&gt;th&lt;/sup&gt;&amp;nbsp;April&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;Microsoft &amp;amp; Quest Software&amp;nbsp;&lt;br /&gt;Reading Football Ground (Madejski Stadium)&amp;nbsp;&lt;br /&gt;09:30 &amp;ndash; 14:00 (+Stadium Tour!)&lt;br /&gt;&lt;a href="http://www.quest-software.co.uk/landing/?ID=7174" target="_blank"&gt;More Information &amp;amp; Registration&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="ecxMsoNormal"&gt;&lt;span&gt;On behalf of all the team at Microsoft, we hope to see you there!&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In case you&amp;#39;re wondering, I&amp;#39;m usually a Chrome user myself. I&amp;#39;m not one for adding multiple extensions to a browser, so I like the way that Chrome natively syncs my bookmarks, etc, and has Flash and PDF reading funtionality built right in. So that&amp;#39;s IE6 and Adobe&amp;#39;s Flash and Reader that I no longer use. Three birds, one stone.&lt;/p&gt;</description></item><item><title>Internet Explorer 10 User Agent Strings On Windows 8 64bit</title><link>http://msmvps.com/blogs/paulomorgado/archive/2011/10/11/internet-explorer-10-user-agent-strings-on-windows-8-64bit.aspx</link><pubDate>Tue, 11 Oct 2011 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1801008</guid><dc:creator>paulo</dc:creator><description>&lt;p align="justify"&gt;&lt;a title="Internet Explorer" href="http://www.microsoft.com/windows/internet-explorer/" target="_blank"&gt;Internet Explorer&lt;/a&gt; 10 is the web browser &lt;a title="Microsoft Corporation" href="http://www.microsoft.com/" target="_blank"&gt;Microsoft&lt;/a&gt; is delivering with &lt;a title="Microsoft Windows" href="http://www.microsoft.com/windows/" target="_blank"&gt;&lt;strong&gt;Windows&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; 8&lt;/strong&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;According to its different usages and modes, its &lt;a title="Understanding User-Agent Strings" href="http://msdn.microsoft.com/library/ms537503.aspx" target="_blank"&gt;user agent string&lt;/a&gt; is as follows:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="100%"&gt;&lt;thead&gt;     &lt;tr&gt;       &lt;th valign="top" width="160"&gt;Application&lt;/th&gt;        &lt;th valign="top" width="96"&gt;Environment&lt;/th&gt;        &lt;th valign="top" width="80"&gt;32/64 bit&lt;/th&gt;        &lt;th valign="top"&gt;User Agent String&lt;/th&gt;     &lt;/tr&gt;   &lt;/thead&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" align="left"&gt;Internet Explorer&lt;/td&gt;        &lt;td valign="top" align="center"&gt;Metro&lt;/td&gt;        &lt;td valign="top" align="center"&gt;-&lt;/td&gt;        &lt;td valign="top" align="left"&gt;Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="left"&gt;Javascript Application&lt;/td&gt;        &lt;td valign="top" align="center"&gt;Metro&lt;/td&gt;        &lt;td valign="top" align="center"&gt;-&lt;/td&gt;        &lt;td valign="top" align="left"&gt;Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0;)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="left"&gt;C#/VB Application&lt;/td&gt;        &lt;td valign="top" align="center"&gt;Metro&lt;/td&gt;        &lt;td valign="top" align="center"&gt;32bit&lt;/td&gt;        &lt;td valign="top" width="1039"&gt;Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="left"&gt;C#/VB Application&lt;/td&gt;        &lt;td valign="top" align="center"&gt;Metro&lt;/td&gt;        &lt;td valign="top" align="center"&gt;64bit&lt;/td&gt;        &lt;td valign="top" width="1039"&gt;Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="left"&gt;Internet Explorer&lt;/td&gt;        &lt;td valign="top" align="center"&gt;Desktop&lt;/td&gt;        &lt;td valign="top" align="center"&gt;32bit&lt;/td&gt;        &lt;td valign="top" width="1039"&gt;         &lt;div align="left"&gt;Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)&lt;/div&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="left"&gt;Internet Explorer&lt;/td&gt;        &lt;td valign="top" align="center"&gt;Desktop&lt;/td&gt;        &lt;td valign="top" align="center"&gt;64bit&lt;sup&gt;&lt;font size="1"&gt;(1)&lt;/font&gt;&lt;/sup&gt;&lt;/td&gt;        &lt;td valign="top" width="1039"&gt;Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="left"&gt;WPF Application&lt;/td&gt;        &lt;td valign="top" align="center"&gt;Desktop&lt;/td&gt;        &lt;td valign="top" align="center"&gt;32bit&lt;/td&gt;        &lt;td valign="top" width="1039"&gt;Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident/6.0; .NET4.0E; .NET4.0C; Tablet PC 2.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Zune 4.7; InfoPath.3)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" align="left"&gt;WPF Application&lt;/td&gt;        &lt;td valign="top" align="center"&gt;Desktop&lt;/td&gt;        &lt;td valign="top" align="center"&gt;64bit&lt;/td&gt;        &lt;td valign="top" width="1039"&gt;Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; Win64; x64; Trident/6.0; .NET4.0E; .NET4.0C; Tablet PC 2.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Zune 4.7; InfoPath.3)&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div align="right"&gt;&lt;sup&gt;&lt;font size="1"&gt;(1)&lt;/font&gt;&lt;/sup&gt; Needs to be enabled for each security zone.&lt;/div&gt;  &lt;p align="justify"&gt;Analyzing the above table I conclude that:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;strong&gt;Metro Internet Explorer&lt;/strong&gt; is always a 64bit application on 64bit &lt;strong&gt;Windows 8&lt;/strong&gt;.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;strong&gt;Javascript Metro Style Applications&lt;/strong&gt; don’t announce if they are 32bit or 64bit.&lt;/div&gt;      &lt;ol&gt;       &lt;li&gt;         &lt;div align="justify"&gt;They look like they are running on a 32bit &lt;strong&gt;Windows 8&lt;/strong&gt;.&lt;/div&gt;       &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;strong&gt;Desktop Internet Explorer&lt;/strong&gt; retains the same behavior introduced with &lt;strong&gt;Internet Explorer 8&lt;/strong&gt;.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;strong&gt;Metro Style C#/VB Applications&lt;/strong&gt; hosting the web browser (&lt;a title="WebView Control" href="http://msdn.microsoft.com/library/windows/apps/windows.ui.xaml.controls.webview.aspx" target="_blank"&gt;WebView control&lt;/a&gt;) exhibit the same behavior as &lt;strong&gt;Internet Explorer&lt;/strong&gt;.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;strong&gt;Desktop &lt;/strong&gt;&lt;strong&gt;WPF&lt;/strong&gt;&lt;strong&gt; Applications&lt;/strong&gt; hosting the web browser (&lt;a title="WebBrowser Control" href="http://msdn.microsoft.com/library/system.windows.controls.webbrowser.aspx" target="_blank"&gt;WebBrowser control&lt;/a&gt;) retain the same behavior introduced with &lt;strong&gt;Internet Explorer 8&lt;/strong&gt;.&lt;/div&gt;      &lt;ol&gt;       &lt;li&gt;         &lt;div align="justify"&gt;This can be overriden by &lt;a title="Defining Document Compatibility" href="http://msdn.microsoft.com/library/cc288325.aspx" target="_blank"&gt;defining the document compatibility on the server&lt;/a&gt; or &lt;a title="Internet Feature Controls (B..C) - Browser Emulation" href="http://msdn.microsoft.com/library/ee330730.aspx#browser_emulation" target="_blank"&gt;setting the browser emulation feature for the application on the client&lt;/a&gt;.&lt;/div&gt;       &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt; &lt;/ol&gt;</description></item><item><title>Detecting User Regional Settings In The Web Browser</title><link>http://msmvps.com/blogs/paulomorgado/archive/2010/05/10/detecting-user-regional-settings-in-the-web-browser.aspx</link><pubDate>Mon, 10 May 2010 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1765271</guid><dc:creator>paulo</dc:creator><description>&lt;p align="justify"&gt;Recently, a friend of mine asked me something like: “How do I get the user’s regional settings for a request to a web server?”&lt;/p&gt;  &lt;p align="justify"&gt;As far as I know, web browser only send an &lt;a title="Accept-Language HTTP Header" href="http://www.w3.org/Protocols/HTTP/1.1/draft-ietf-http-v11-spec-02.html#Accept_Language" target="_blank"&gt;Accept-Language&lt;/a&gt; HTTP header and nothing more. You can take this and use the default regional settings for that language but, if your user is anything like me, you’ll be wrong.&lt;/p&gt;  &lt;h4&gt;So, what’s the problem of getting it wrong?&lt;/h4&gt;  &lt;p align="justify"&gt;If you are just generating HTML and keep it consistent, nothing’s wrong. But what if your user wants to copy some numeric and/or date values to, say, &lt;a title="Microsoft Office Excel" href="http://office.microsoft.com/excel/" target="_blank"&gt;Excel&lt;/a&gt;? Or if you want to export some data as a &lt;a title="Comma-separated values" href="http://wikipedia.org/wiki/Comma-separated_values" target="_blank"&gt;CSV&lt;/a&gt; file?&lt;/p&gt;  &lt;h4&gt;A solution&lt;/h4&gt;  &lt;p align="justify"&gt;Going through the &lt;a title="JScript Language Reference (Windows Scripting - JScript)" href="http://msdn.microsoft.com/library/yek4tbz0.aspx" target="_blank"&gt;JScript Language Reference&lt;/a&gt;, I found that both &lt;a title="Number Object (Windows Scripting - JScript)" href="http://msdn.microsoft.com/library/dwab3ed2.aspx" target="_blank"&gt;Number&lt;/a&gt; and &lt;a title="Date Object (Windows Scripting - JScript)" href="http://msdn.microsoft.com/library/cd9w2te4.aspx" target="_blank"&gt;Date&lt;/a&gt; have &lt;strong&gt;locale&lt;/strong&gt; related &lt;strong&gt;toString&lt;/strong&gt; methods and I started playing with them.&lt;/p&gt;  &lt;h5&gt;Numeric format settings&lt;/h5&gt;  &lt;p align="justify"&gt;To the numeric format settings, first we need a number that will behave in a predictable manner in any culture (“any culture” means “any culture I know”) and for all possible settings and convert it to a string using the &lt;a title="toLocaleString Method (Windows Scripting - JScript)" href="http://msdn.microsoft.com/library/wb66sb9s.aspx" target="_blank"&gt;toLocaleString&lt;/a&gt; method:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;number = 111111111.111111111;
&lt;span style="color:blue;"&gt;var &lt;/span&gt;numberString = number.toLocaleString();&lt;/pre&gt;

&lt;p align="justify"&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;(With my regional settings, &lt;strong&gt;numberString&lt;/strong&gt; becomes &lt;strong style="white-space:nowrap;"&gt;111 111 111.11&lt;/strong&gt;)&lt;/p&gt;

&lt;p align="justify"&gt;To get the decimal separator, all it takes is getting the first non &lt;strong&gt;1&lt;/strong&gt; from the end:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;decimalSeparator;
&lt;span style="color:blue;"&gt;var &lt;/span&gt;decimalDigits;
&lt;span style="color:blue;"&gt;for &lt;/span&gt;(&lt;span style="color:blue;"&gt;var &lt;/span&gt;i = numberString.length - 1; i &amp;gt;= 0; i--) {
    &lt;span style="color:blue;"&gt;var &lt;/span&gt;char = numberString.charAt(i);
    &lt;span style="color:blue;"&gt;if &lt;/span&gt;(char != &lt;span style="color:maroon;"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;) {
        decimalSeparator = char;
        decimalDigits = numberString.length - i - 1;
        &lt;span style="color:blue;"&gt;break&lt;/span&gt;;
    }
}&lt;/pre&gt;

&lt;p align="justify"&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;And if you count how many &lt;strong&gt;1&lt;/strong&gt;s were skipped, we get the number of decimal digits.&lt;/p&gt;

&lt;p align="justify"&gt;In a similar way, the first non &lt;strong&gt;1&lt;/strong&gt; will be the digit grouping separator:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;groupSeparator;
&lt;span style="color:blue;"&gt;for &lt;/span&gt;(&lt;span style="color:blue;"&gt;var &lt;/span&gt;i = 0; i &amp;lt; numberString.length; i++) {
    &lt;span style="color:blue;"&gt;var &lt;/span&gt;char = numberString.charAt(i);
    &lt;span style="color:blue;"&gt;if &lt;/span&gt;(char != &lt;span style="color:maroon;"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;) {
        groupSeparator = char;
        &lt;span style="color:blue;"&gt;break&lt;/span&gt;;
    }
}&lt;/pre&gt;

&lt;p align="justify"&gt;Now that we have the digit grouping separator, we can get the digit groups (these groups might not all have the same size):&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;digitGrouping = numberString.substring(0, numberString.length - decimalDigits - 1).split(groupSeparator);
&lt;span style="color:blue;"&gt;for &lt;/span&gt;(g &lt;span style="color:blue;"&gt;in &lt;/span&gt;digitGrouping) {
    digitGrouping[g] = digitGrouping[g].length;
}&lt;/pre&gt;

&lt;h5&gt;Date and time settings&lt;/h5&gt;

&lt;p&gt;Date and time values are more difficult to parse and you might not need all information. So, I’ll just get the value and let the parsing to you:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;dateTime = &lt;span style="color:blue;"&gt;new &lt;/span&gt;Date(9999, 11, 31, 23, 30, 45);
dateTimeString = dateTime.toLocaleString();&lt;/pre&gt;

&lt;h5&gt;List settings&lt;/h5&gt;

&lt;p&gt;The last setting is the list separator (very useful for those &lt;strong&gt;CSV&lt;/strong&gt; files):&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;list = [&lt;span style="color:maroon;"&gt;&amp;quot;a&amp;quot;&lt;/span&gt;, &lt;span style="color:maroon;"&gt;&amp;quot;b&amp;quot;&lt;/span&gt;];
listSeparator = list.toLocaleString().substring(1, 2);&lt;/pre&gt;

&lt;h4&gt;Test page&lt;/h4&gt;

&lt;p&gt;Here is a test page the get all these settings:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;!&lt;/span&gt;&lt;span style="color:maroon;"&gt;DOCTYPE &lt;/span&gt;&lt;span style="color:red;"&gt;HTML PUBLIC &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;-//W3C//DTD HTML 4.0 Transitional//EN&amp;quot;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;html&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;head&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Test Page&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;style &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;text/css&amp;quot;&amp;gt;
        &lt;/span&gt;&lt;span style="color:maroon;"&gt;label  &lt;/span&gt;{ &lt;span style="color:red;"&gt;width&lt;/span&gt;: &lt;span style="color:blue;"&gt;8em&lt;/span&gt;; &lt;span style="color:red;"&gt;text-align&lt;/span&gt;: &lt;span style="color:blue;"&gt;right&lt;/span&gt;; &lt;span style="color:red;"&gt;padding-right&lt;/span&gt;: &lt;span style="color:blue;"&gt;0.5em&lt;/span&gt;; &lt;span style="color:red;"&gt;white-space&lt;/span&gt;: &lt;span style="color:blue;"&gt;nowrap&lt;/span&gt;; }
        &lt;span style="color:maroon;"&gt;span &lt;/span&gt;{ &lt;span style="color:red;"&gt;border&lt;/span&gt;: &lt;span style="color:blue;"&gt;1px solid&lt;/span&gt;; &lt;span style="color:red;"&gt;white-space&lt;/span&gt;: &lt;span style="color:blue;"&gt;nowrap&lt;/span&gt;; }
    &lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;script &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;
        function &lt;/span&gt;init() {
            document.all.userLanguage.innerText = window.navigator.userLanguage;
            document.all.systemLanguage.innerText = window.navigator.systemLanguage;

            &lt;span style="color:#006400;"&gt;// Decimal separator and decimal digits
            &lt;/span&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;number = 111111111.111111111;
            &lt;span style="color:blue;"&gt;var &lt;/span&gt;numberString = (111111111.111111111).toLocaleString();

            &lt;span style="color:blue;"&gt;var &lt;/span&gt;decimalSeparator;
            &lt;span style="color:blue;"&gt;var &lt;/span&gt;decimalDigits;
            &lt;span style="color:blue;"&gt;for &lt;/span&gt;(&lt;span style="color:blue;"&gt;var &lt;/span&gt;i = numberString.length - 1; i &amp;gt;= 0; i--) {
                &lt;span style="color:blue;"&gt;var &lt;/span&gt;char = numberString.charAt(i);
                &lt;span style="color:blue;"&gt;if &lt;/span&gt;(char != &lt;span style="color:maroon;"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;) {
                    decimalSeparator = char;
                    decimalDigits = numberString.length - i - 1;
                    &lt;span style="color:blue;"&gt;break&lt;/span&gt;;
                }
            }
            document.all.decimalSeparator.innerText = decimalSeparator;
            document.all.decimalDigits.innerText = decimalDigits;

            &lt;span style="color:#006400;"&gt;// Digit grouping separator and digit goups
            &lt;/span&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;groupSeparator;
            &lt;span style="color:blue;"&gt;for &lt;/span&gt;(&lt;span style="color:blue;"&gt;var &lt;/span&gt;i = 0; i &amp;lt; numberString.length; i++) {
                &lt;span style="color:blue;"&gt;var &lt;/span&gt;char = numberString.charAt(i);
                &lt;span style="color:blue;"&gt;if &lt;/span&gt;(char != &lt;span style="color:maroon;"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;) {
                    groupSeparator = char;
                    &lt;span style="color:blue;"&gt;break&lt;/span&gt;;
                }
            }
            document.all.groupSeparator.innerText = groupSeparator;

            &lt;span style="color:blue;"&gt;var &lt;/span&gt;digitGrouping = numberString.substring(0, numberString.length - decimalDigits - 1).split(groupSeparator);
            &lt;span style="color:blue;"&gt;for &lt;/span&gt;(g &lt;span style="color:blue;"&gt;in &lt;/span&gt;digitGrouping) {
                digitGrouping[g] = digitGrouping[g].length;
            }
            document.all.digitGrouping.innerText = digitGrouping.toString();

            &lt;span style="color:#006400;"&gt;// Date format
            &lt;/span&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;dateTime = &lt;span style="color:blue;"&gt;new &lt;/span&gt;Date(9999, 11, 31, 23, 30, 45);
            &lt;span style="color:blue;"&gt;var &lt;/span&gt;dateTimeString = dateTime.toLocaleString();
            document.all.dateTimeFormat.innerText = dateTimeString;

            &lt;span style="color:#006400;"&gt;// List separator
            &lt;/span&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;list = [&lt;span style="color:maroon;"&gt;&amp;quot;a&amp;quot;&lt;/span&gt;, &lt;span style="color:maroon;"&gt;&amp;quot;b&amp;quot;&lt;/span&gt;];
            &lt;span style="color:blue;"&gt;var &lt;/span&gt;listSeparator = list.toLocaleString().substring(1, 2);
            document.all.listSeparator.innerText = listSeparator;
        }
    &lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;script&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;head&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;body &lt;/span&gt;&lt;span style="color:red;"&gt;onload&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;init()&amp;quot;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;label &lt;/span&gt;&lt;span style="color:red;"&gt;for&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;userLanguage&amp;quot;&amp;gt;&lt;/span&gt;User language:&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;span &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;userLanguage&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;span&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;label &lt;/span&gt;&lt;span style="color:red;"&gt;for&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;systemLanguage&amp;quot;&amp;gt;&lt;/span&gt;System language:&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;span &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;systemLanguage&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;span&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;label &lt;/span&gt;&lt;span style="color:red;"&gt;for&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;decimalSeparator&amp;quot;&amp;gt;&lt;/span&gt;Decimal separator:&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;span &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;decimalSeparator&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;span&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;label &lt;/span&gt;&lt;span style="color:red;"&gt;for&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;decimalDigits&amp;quot;&amp;gt;&lt;/span&gt;Decimal digits:&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;span &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;decimalDigits&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;span&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;label &lt;/span&gt;&lt;span style="color:red;"&gt;for&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;groupSeparator&amp;quot;&amp;gt;&lt;/span&gt;Digit separator:&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;span &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;groupSeparator&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;span&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;label &lt;/span&gt;&lt;span style="color:red;"&gt;for&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;digitGrouping&amp;quot;&amp;gt;&lt;/span&gt;Digit grouping:&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;span &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;digitGrouping&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;span&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;label &lt;/span&gt;&lt;span style="color:red;"&gt;for&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;dateTimeFormat&amp;quot;&amp;gt;&lt;/span&gt;Date/Time format:&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;span &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;dateTimeFormat&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;span&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;label &lt;/span&gt;&lt;span style="color:red;"&gt;for&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;listSeparator&amp;quot;&amp;gt;&lt;/span&gt;List separator:&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;span &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;listSeparator&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;span&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;body&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;html&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;</description></item><item><title>Defining Document Compatibility In Internet Explorer 8</title><link>http://msmvps.com/blogs/paulomorgado/archive/2010/04/05/defining-document-compatibility-in-internet-explorer-8.aspx</link><pubDate>Mon, 05 Apr 2010 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1762868</guid><dc:creator>paulo</dc:creator><description>&lt;p align="justify"&gt;The procedures to define document compatibility in &lt;a title="Internet Explorer" href="http://www.microsoft.com/windows/internet-explorer/" target="_blank"&gt;&lt;strong&gt;Internet Explorer&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; 8&lt;/strong&gt; are well documented &lt;a title="Defining Document Compatibility" href="http://msdn.microsoft.com/library/cc288325.aspx" target="_blank"&gt;here&lt;/a&gt;, but I’ve seem many developers and system administrators that are not aware of this.&lt;/p&gt;  &lt;p align="justify"&gt;Although you can (and should) define the document compatibility your web pages were designed to, if you don’t, &lt;strong&gt;Internet Explorer 8&lt;/strong&gt; and the &lt;a title="WebBrowserControl for the .NET Framework 1.1" href="http://www.codeproject.com/KB/miscctrl/WebBrowserControl11.aspx" target="_blank"&gt;Web Browser Control&lt;/a&gt; will default to these compatibility modes:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top"&gt;         &lt;p align="center"&gt;&lt;strong&gt;Application&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;p align="center"&gt;&lt;strong&gt;Intranet&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;p align="center"&gt;&lt;strong&gt;Internet&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;Internet Explorer 8&lt;/td&gt;        &lt;td valign="top"&gt;IE7 mode&lt;/td&gt;        &lt;td valign="top"&gt;IE8 mode&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;Application hosting the Web Browser Control&lt;/td&gt;        &lt;td valign="top"&gt;IE7 mode&lt;/td&gt;        &lt;td valign="top"&gt;IE7 mode&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p align="justify"&gt;If you notice the table above, by default, only Internet Explore 8 will present itself to the as Internet Explorer 8 and only to Internet sites.&lt;/p&gt;  &lt;p align="justify"&gt;The way Internet Explorer (and any other browser) presents itself the web servers is using its user agent string:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top"&gt;         &lt;p align="center"&gt;&lt;strong&gt;Mode&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;p align="center"&gt;&lt;strong&gt;User Agent String&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;IE7&lt;/td&gt;        &lt;td valign="top"&gt;Mozilla/4.0 (compatible; MSIE 7.0; …; Trident/4.0; …)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;IE8&lt;/td&gt;        &lt;td valign="top"&gt;Mozilla/4.0 (compatible; MSIE 8.0; …; Trident/4.0; …)&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;(If you are curious about the history of the user-agent string, read the &lt;a title="History of the user-agent string" href="http://www.nczonline.net/blog/2010/01/12/history-of-the-user-agent-string/" target="_blank"&gt;History of the user-agent string&lt;/a&gt;)&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a title="Microsoft Corporation" href="http://www.microsoft.com/" target="_blank"&gt;Microsoft&lt;/a&gt; did this to keep compatibility with legacy applications used by enterprises (large and small) but this brings a few issues to development and testing.&lt;/p&gt;  &lt;p align="justify"&gt;If you are building a public web site for Internet Explorer 8, you might see the right thing on your development machine, but the quality assurance team will see the site as if it were an Internet Explorer 7 if the version they are testing is on the intranet. If the the web site you are developing is going to be accessed from an application hosting the Web Browser Control and you don’t test on that application, you are not going to see the same thing.&lt;/p&gt;  &lt;p align="justify"&gt;To know how is your browser presenting itself to the web server in the internet, there are several web sites that will show information about the user-agent string (like &lt;a title="useragents.org" href="http://www.useragents.org/" target="_blank"&gt;http://www.useragents.org/&lt;/a&gt;) and it helps to have the same thing in your intranet. If you want to build such a web application using &lt;a title="ASP.NET Developer Center" href="http://msdn.microsoft.com/asp.net/" target="_blank"&gt;ASP.NET&lt;/a&gt;, you can use the &lt;a title="HttpRequest.UserAgent Property" href="http://msdn.microsoft.com/library/system.web.httprequest.useragent.aspx" target="_blank"&gt;UserAgent&lt;/a&gt; property of the &lt;a title="HttpRequest Class" href="http://msdn.microsoft.com/library/system.web.httprequest.aspx" target="_blank"&gt;HttpRequest&lt;/a&gt; class (or the &lt;a title="HttpRequest.Browser Property" href="http://msdn.microsoft.com/library/system.web.httprequest.browser.aspx" target="_blank"&gt;Browser&lt;/a&gt; property for more detailed information).&lt;/p&gt;  &lt;p align="justify"&gt;This type of information is also available in Internet Explorer in the &lt;a title="navigator Object" href="http://msdn.microsoft.com/library/ms535867.aspx" target="_blank"&gt;navigator&lt;/a&gt; object.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a title="Giorgio Sardo Blog" href="http://blogs.msdn.com/giorgio/" target="_blank"&gt;Giorgio Sardo&lt;/a&gt; has a few &lt;a title="How to detect IE8 using JavaScript (Client side)" href="http://blogs.msdn.com/giorgio/archive/2009/04/14/how-to-detect-ie8-using-javascript-client-side.aspx" target="_blank"&gt;functions to detect Internet Explorer 8&lt;/a&gt; but you might also want to develop a diagnostics page (or part) to show the web browser features, something like this:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;fieldset &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowserInfo&amp;quot;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;legend&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Web Browser&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;legend&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;table &lt;/span&gt;&lt;span style="color:red;"&gt;border&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;1&amp;quot;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;label&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt;width&lt;/span&gt;: &lt;span style="color:blue;"&gt;100px&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label &lt;/span&gt;&lt;span style="color:red;"&gt;for&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$userAgent&amp;quot;&amp;gt;&lt;/span&gt;userAgent&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt; &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;value&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;colspan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$userAgent&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;label&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt;width&lt;/span&gt;: &lt;span style="color:blue;"&gt;100px&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label &lt;/span&gt;&lt;span style="color:red;"&gt;for&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$appVersion&amp;quot;&amp;gt;&lt;/span&gt;appVersion&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;value&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$appVersion&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;label&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label &lt;/span&gt;&lt;span style="color:red;"&gt;for&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$appMinorVersion&amp;quot;&amp;gt;&lt;/span&gt;appMinorVersion&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;value&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$appMinorVersion&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;label&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt;width&lt;/span&gt;: &lt;span style="color:blue;"&gt;100px&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label &lt;/span&gt;&lt;span style="color:red;"&gt;for&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$appCodeName&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt;width&lt;/span&gt;: &lt;span style="color:blue;"&gt;600px&amp;quot;&amp;gt;&lt;/span&gt;appCodeName&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;value&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;colspan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$appCodeName&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;label&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label &lt;/span&gt;&lt;span style="color:red;"&gt;for&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$appName&amp;quot;&amp;gt;&lt;/span&gt;appName&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;value&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;colspan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$appName&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;label&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt;width&lt;/span&gt;: &lt;span style="color:blue;"&gt;100px&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label &lt;/span&gt;&lt;span style="color:red;"&gt;for&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$userLanguage&amp;quot;&amp;gt;&lt;/span&gt;userLanguage&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;value&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$userLanguage&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;label&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt;width&lt;/span&gt;: &lt;span style="color:blue;"&gt;100px&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label &lt;/span&gt;&lt;span style="color:red;"&gt;for&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$cpuClass&amp;quot;&amp;gt;&lt;/span&gt;cpuClass&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;value&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$cpuClass&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;label&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label &lt;/span&gt;&lt;span style="color:red;"&gt;for&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$systemLanguage&amp;quot;&amp;gt;&lt;/span&gt;systemLanguage&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;value&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$systemLanguage&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;label&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label &lt;/span&gt;&lt;span style="color:red;"&gt;for&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$platform&amp;quot;&amp;gt;&lt;/span&gt;platform&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;value&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$platform&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;label&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label &lt;/span&gt;&lt;span style="color:red;"&gt;for&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$browserLanguage&amp;quot;&amp;gt;&lt;/span&gt;browserLanguage&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;value&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$browserLanguage&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;label&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="color:red;"&gt;width&lt;/span&gt;: &lt;span style="color:blue;"&gt;100px&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label &lt;/span&gt;&lt;span style="color:red;"&gt;for&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$cookieEnabled&amp;quot;&amp;gt;&lt;/span&gt;cookieEnabled&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;label&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td &lt;/span&gt;&lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;value&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;colspan&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;webBrowser$cookieEnabled&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;span&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;td&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;tr&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;table&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;fieldset&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&lt;/span&gt;
&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;script &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;span style="color:#000000;"&gt;
    document.getElementById(&lt;span style="color:#a31515;"&gt;&amp;quot;webBrowser$userAgent&amp;quot;&lt;/span&gt;).innerHTML = window.navigator.userAgent;
    document.getElementById(&lt;span style="color:#a31515;"&gt;&amp;quot;webBrowser$appCodeName&amp;quot;&lt;/span&gt;).innerHTML = window.navigator.appCodeName;
    document.getElementById(&lt;span style="color:#a31515;"&gt;&amp;quot;webBrowser$appMinorVersion&amp;quot;&lt;/span&gt;).innerHTML = window.navigator.appMinorVersion;
    document.getElementById(&lt;span style="color:#a31515;"&gt;&amp;quot;webBrowser$appName&amp;quot;&lt;/span&gt;).innerHTML = window.navigator.appName;
    document.getElementById(&lt;span style="color:#a31515;"&gt;&amp;quot;webBrowser$appVersion&amp;quot;&lt;/span&gt;).innerHTML = window.navigator.appVersion;
    document.getElementById(&lt;span style="color:#a31515;"&gt;&amp;quot;webBrowser$browserLanguage&amp;quot;&lt;/span&gt;).innerHTML = window.navigator.browserLanguage;
    document.getElementById(&lt;span style="color:#a31515;"&gt;&amp;quot;webBrowser$cookieEnabled&amp;quot;&lt;/span&gt;).innerHTML = window.navigator.cookieEnabled;
    document.getElementById(&lt;span style="color:#a31515;"&gt;&amp;quot;webBrowser$cpuClass&amp;quot;&lt;/span&gt;).innerHTML = window.navigator.cpuClass;
    document.getElementById(&lt;span style="color:#a31515;"&gt;&amp;quot;webBrowser$platform&amp;quot;&lt;/span&gt;).innerHTML = window.navigator.platform;
    document.getElementById(&lt;span style="color:#a31515;"&gt;&amp;quot;webBrowser$systemLanguage&amp;quot;&lt;/span&gt;).innerHTML = window.navigator.systemLanguage;
    document.getElementById(&lt;span style="color:#a31515;"&gt;&amp;quot;webBrowser$userLanguage&amp;quot;&lt;/span&gt;).innerHTML = window.navigator.userLanguage;&lt;/span&gt;
&amp;lt;/&lt;span style="color:#a31515;"&gt;script&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;</description></item><item><title>Extended WebBrowser Control - Version 0.0.0.0 Uploaded</title><link>http://msmvps.com/blogs/paulomorgado/archive/2009/12/02/extended-webbrowser-control-version-0-0-0-0-uploaded.aspx</link><pubDate>Wed, 02 Dec 2009 06:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1743268</guid><dc:creator>paulo</dc:creator><description>&lt;p align="justify"&gt;After a long time, I finally managed to upload a version of the &lt;a title="Extended WebBrowser Control" href="http://webbrowserex.codeplex.com/" target="_blank"&gt;Extended WebBrowser Control&lt;/a&gt; to &lt;a title="Open Source Project Hosting" href="http://www.codeplex.com/" target="_blank"&gt;CodePlex&lt;/a&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;It&amp;#39;s still a work in progress, but it&amp;#39;s usable. Feel free to &lt;a title="Downloads for WebBrowserEx - Extended WebBrowser Control" href="http://webbrowserex.codeplex.com/Release/ProjectReleases.aspx" target="_blank"&gt;download&lt;/a&gt;, &lt;a title="Discussions for WebBrowserEx - Extended WebBrowser Control" href="http://webbrowserex.codeplex.com/Thread/List.aspx" target="_blank"&gt;comment&lt;/a&gt; and &lt;a title="Issue Tracker for WebBrowserEx - Extended WebBrowser Control" href="http://webbrowserex.codeplex.com/WorkItem/List.aspx" target="_blank"&gt;file issues&lt;/a&gt;. A nice tabbed browser demo is included.&lt;/p&gt;</description></item><item><title>Windows 7 E</title><link>http://msmvps.com/blogs/jonoble/archive/2009/07/17/windows-7-e.aspx</link><pubDate>Fri, 17 Jul 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1734073</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;[UPDATE] Microsoft is scrapping the E editions of Windows 7. See &lt;a href="http://www.jonoble.com/blog/2009/7/27/windows-7-may-ship-with-ie-in-europe-after-all.html"&gt;this post&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;Now I&amp;#39;m sure you&amp;#39;ve heard this news before reading this, but in case you haven&amp;#39;t prepare to be shocked and bemused...&lt;/p&gt;
&lt;p&gt;Following on from various wrangling&amp;nbsp;and&amp;nbsp;threats of fines&amp;nbsp;after a complaint to the European Union from browser maker Opera about Microsoft&amp;#39;s&amp;nbsp;bundling of Internet Explorer with Windows being anti-competitive, &lt;a href="http://microsoftontheissues.com/cs/blogs/mscorp/archive/2009/06/11/working-to-fulfill-our-legal-obligations-in-europe-for-windows-7.aspx"&gt;Microsoft has stated that it will release special E editions of the different Windows 7 versions in Europe&lt;/a&gt;. Windows 7 E editions will not contain a web browser, and unlike the old N (which didn&amp;#39;t contain Windows Media Player, to try to please the EU, and which&amp;nbsp;nobody bought), there&amp;#39;s no option this time - if you&amp;#39;re in Europe, you get the E edition and you can&amp;#39;t purchase a version of Windows 7 that contains IE.&lt;/p&gt;
&lt;p&gt;Funnily enough Opera isn&amp;#39;t pleased about this, presumably because they have to now provide a distribution mechanism for people to get their browser onto a PC that doesn&amp;#39;t have a browser already with which to download it, and increasingly may not have an optical disk drive. Opera would like Windows 7 to include a &amp;quot;ballot screen&amp;quot; which would provide a selection of browsers that the user could choose from. It doesn&amp;#39;t take a genius to see why Microsoft would be reluctant to do that since however they ordered the options, someone would be bound to complain (and by &amp;quot;complain&amp;quot;, I mean &amp;quot;probably take legal action&amp;quot;).&lt;/p&gt;
&lt;p&gt;It&amp;#39;s not all bad though. The majority of consumers who use Windows get it with a new PC, and the OEMs who manufacture those PCs aren&amp;#39;t going to send one out to retail without a web browser. They&amp;#39;ll undoubtedly do deals with one browser company or another to bundle their offering as they do with anti-virus and other software. The vast numbers of Windows users in a corporate environment don&amp;#39;t need to worry either since their IT department will sort them out. The only people who are really affected by this are the small percentage who buy a boxed (or downloaded)&amp;nbsp;copy of Windows 7 to upgrade an existing computer. It&amp;#39;s a small percentage of people who buy Windows this way simply because the numbers of corporate users and PC buyers are so large, but I expect that the number will be larger with Windows 7 simply because it&amp;#39;s so much better suited to running on existing hardware than Windows Vista was - I&amp;#39;m running it quite happily &lt;a href="http://www.jonoble.com/blog/2009/1/12/windows-7-beta-on-asus-eee-pc-901.html"&gt;on my netbook&lt;/a&gt; and I also put the release candidate on my mother&amp;#39;s creaking &amp;quot;built for XP&amp;quot; laptop with 512Mb RAM; it works fine!&lt;/p&gt;
&lt;p&gt;I said this affects people who are buying a copy to upgrade, but the other caveat to this is that because there were no Windows Vista or XP&amp;nbsp;E editions, Microsoft isn&amp;#39;t providing Windows 7 E upgrade versions as they have done previously. They are providing the full version of Windows 7 E, in the UK,&amp;nbsp;for roughly the equivalent of the upgrade pricing they&amp;#39;re using outside the EU if you &lt;a href="http://www.microsoft.com/uk/windows/buy/offers/pre-order.aspx"&gt;pre-order from selected suppliers between now and the 9th August&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So, if you&amp;#39;re moving your old PC to Windows 7 E, not only will you not have a browser, but you&amp;#39;re going to have to do a clean install too. Microsoft have put up a &lt;a href="http://windows.microsoft.com/en-gb/windows7/help/installing-e"&gt;web page which takes you through the steps&lt;/a&gt; you can take to make the transition as painless as possible. Obviously it tells you how to get to running Windows 7 E with IE8, but if you already use a different web browser I&amp;#39;m sure you can work out how to switch&amp;nbsp;it in at that point.&lt;/p&gt;
&lt;p&gt;Of course it&amp;#39;s not only people using Windows in Europe who are impacted by the release of the E editions. Software developers worldwide, who may have used the fact that IE was present in every version of Windows in their applications, will have to look at ways around it being missing, or another browser being in its place. There is some excellent &lt;a href="http://windowsteamblog.com/blogs/developers/archive/2009/07/12/windows-7-e-best-practices-for-isvs.aspx"&gt;advice for developers on the Windows blog&lt;/a&gt;&amp;nbsp;about this. I&amp;#39;d recommend that Windows sys admins check that out too, since it&amp;#39;ll help them in testing software before rolling it out across their Windows infrastructure.&lt;/p&gt;
&lt;p&gt;Some further reading regarding Windows 7:&lt;br /&gt;...for IT Pros: &lt;a href="http://talkingaboutwindows.com/"&gt;Talking About Windows&lt;/a&gt;&amp;nbsp;and &lt;a href="http://technet.microsoft.com/en-us/windows/dd799317.aspx"&gt;IT Pro at Home&lt;/a&gt;&lt;br /&gt;...for people building hardware&amp;nbsp;or developing software: &lt;a href="http://readyset7.com/"&gt;Ready. Set. 7.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;NB. If you&amp;#39;re yet to try out the Windows 7 Release Candidate, don&amp;#39;t wait too long - the &lt;a href="http://technet.microsoft.com/en-gb/evalcenter/dd353205.aspx"&gt;download page&lt;/a&gt; says it&amp;#39;s only available until the 20th August.&amp;nbsp;Windows 7&amp;nbsp;will be available to volume license customers on the 1st September, and on general release from 22nd October.&lt;/p&gt;</description></item><item><title>Microsoft, Eurocrats And Internet Explorer</title><link>http://msmvps.com/blogs/paulomorgado/archive/2009/02/02/microsoft-eurocrats-and-internet-explorer.aspx</link><pubDate>Mon, 02 Feb 2009 06:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1667964</guid><dc:creator>paulo</dc:creator><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;I’m all against monopolies, so I’m glad the Eurocrats are putting my tax payer Euros to good use.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;But it also got me thinking.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;If I buy something like an operating system, I expect the vendor to be responsible for what I’m buying. Does anyone think &lt;a title="Microsoft Corporation" href="http://www.microsoft.com/" target="_blank"&gt;Microsoft&lt;/a&gt; will ever accept any responsibility for software that it hasn’t built and is forced to bundle into its products. They probably make some disclaimer like “We didn’t build this. We were forced to put this here and we totally discourage its use.”. That will boost other browsers.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Probably the Eurocrats are planning to take that responsibility themselves. I think there’s a greater possibility for Microsoft to take responsibility for something they didn’t built and were forced to bundle into their products.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;On the other hand, a personal computer is becoming something like an household appliance. Do you expect to download a timer for your microwave oven before being able to use it? I don’t.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;&lt;a title="Internet Explorer" href="http://cli.gs/Internet-Explorer" target="_blank"&gt;Internet Explorer&lt;/a&gt; is built to be parte of &lt;a title="Microsoft Windows" href="http://cli.gs/cligs/Microsoft-Windows" target="_blank"&gt;Windows&lt;/a&gt; and to be freely used by any application running on Windows. Any other we browser could be built the same way, why aren’t they?&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Why isn’t anyone thinking of forcing Microsoft to allow for third party components to replace parts of Internet Explorer? Probably because no one cares about build applications that are good Windows “citizens”.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;</description></item><item><title>Internet Explorer 8 RC 1 has now been released!</title><link>http://msmvps.com/blogs/paulomorgado/archive/2009/01/27/internet-explorer-8-rc-1-has-now-been-released.aspx</link><pubDate>Tue, 27 Jan 2009 06:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1666152</guid><dc:creator>paulo</dc:creator><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Internet Explorer 8 RC 1 has now been released! You can get it &lt;a title="Windows Internet Explorer 8" href="http://www.microsoft.com/windows/products/winfamily/ie/ie8" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Before installing, please read the &lt;a title="Windows Internet Explorer 8 Internet Explorer 8 Release Candidate 1 Release Notes" href="http://go.microsoft.com/fwlink/?LinkID=124056" target="_blank"&gt;Release Notes&lt;/a&gt; and more information about features and developer docs can be found in the &lt;a title="Internet Explorer 8 Readiness Toolkit" href="http://go.microsoft.com/fwlink/?LinkId=110816" target="_blank"&gt;IE8 Readiness Toolkit&lt;/a&gt;.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Internet Explorer 8 RC 1 is now platform and feature complete and this is our opportunity to try out the new browser before its final release. If you find issues with IE8, please file a bug. More information and instructions can be found at the &lt;a title="Internet Explorer 8: Help and support" href="http://www.microsoft.com/windows/internet-explorer/beta/support/faq.aspx"&gt;support page for Internet Explorer 8 RC 1&lt;/a&gt;.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;To ensure your browser is up to date, all RC1 users will be automatically updated with the final version of Internet Explorer 8 via Windows Update so you&amp;#39;ll always have the latest version of the browser.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;</description></item><item><title>Setting A Web Proxy Through Configuration In .NET Applications</title><link>http://msmvps.com/blogs/paulomorgado/archive/2009/01/12/setting-a-web-proxy-through-configuration-in-net-applications.aspx</link><pubDate>Mon, 12 Jan 2009 06:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1661210</guid><dc:creator>paulo</dc:creator><description>&lt;p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Specially in enterprise environments, proxy servers are used to access the Internet.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;In a &lt;a target="_blank" href="http://cli.gs/cligs/Microsoft-Windows" title="Microsoft Windows"&gt;Windows&lt;/a&gt; / &lt;a target="_blank" href="http://cli.gs/Internet-Explorer" title="Internet Explorer"&gt;Internet Explorer&lt;/a&gt; environments there is a proxy server configuration in Internet &lt;strong&gt;Properties&lt;/strong&gt; &amp;gt; &lt;strong&gt;Connections&lt;/strong&gt; &amp;gt; &lt;strong&gt;LAN settings&lt;/strong&gt; &amp;gt; &lt;strong&gt;Proxy server&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Although these configurations are tightly connected to Internet Explorer, any well behaved Windows application should, at least, allow the user to choose to use them.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;In applications targeting the &lt;a target="_blank" href="http://cli.gs/cligs/Microsoft-NET" title="Microsoft .NET"&gt;.NET framework&lt;/a&gt;, these the proxy server can be set on a per call basis. Several networking classes have a Proxy property that receives a value implementing the &lt;a target="_blank" href="http://cli.gs/QNbUQ8" title="IWebProxy Interface"&gt;IWebProxy&lt;/a&gt; interface.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;In order for the Windows/ Internet Explorer configuration to be used, the application must be configured to use the default proxy settings.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;This configuration is done in the machine or application file in the &lt;a target="_blank" href="http://cli.gs/bDYvUy" title="proxy Element (Network Settings)"&gt;proxy&lt;/a&gt; element of the &lt;a target="_blank" href="http://cli.gs/AHTSq7" title="defaultProxy Element (Network Settings)"&gt;defaultProxy&lt;/a&gt; configuration section in the &lt;a target="_blank" href="http://cli.gs/sUASsa" title="system.net Element (Network Settings)"&gt;system.net&lt;/a&gt; section group:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;configuration&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;
  &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;system.net&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;defaultProxy &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;enabled&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff;"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;proxy &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;usesystemdefault&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff;"&gt;True&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff;"&gt;/&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;defaultProxy&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;
  &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;system.net&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;configuration&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can use this configuration also to set a specific proxy to be used by your application. In the following example, a proxy setting for using the &lt;a target="_blank" href="http://cli.gs/FiddlerTool" title="Fiddler - Web Debugging Proxy"&gt;Fiddler Tool&lt;/a&gt; is used:&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;configuration&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;
  &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;system.net&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;defaultProxy &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;enabled&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff;"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;proxy &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;proxyaddress&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff;"&gt;http://ipv4.fiddler&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff;"&gt;/&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;defaultProxy&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;
  &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;system.net&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;configuration&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Unfortunately, this is a MachineToApplication setting and, for that reason, is not allowed in the user settings configuration file, when in a shared installation. In these type of installations, the default Windows / Internet Explorer settings should be used as a default. If a user needs or wants to specify proxy server settings, application specific proxy server settings must be used but, assigning the user defined proxy server configuration to the &lt;a target="_blank" href="http://cli.gs/d5LP0S" title="GlobalProxySelection.Select Property"&gt;GlobalProxySelection.Select&lt;/a&gt; property will allow its use for the entire application.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://paulomorgado.net/"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The Problem Of Long Web Browser User-Agent Strings</title><link>http://msmvps.com/blogs/paulomorgado/archive/2009/01/12/the-problem-of-long-web-browser-user-agent-strings.aspx</link><pubDate>Mon, 12 Jan 2009 06:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1660929</guid><dc:creator>paulo</dc:creator><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Every web browser sends, on every request, a &lt;a title="Hypertext Transfer Protocol (HTTP/1.1) - Header Field Definitions - User Agent" href="http://cli.gs/t2tmAV" target="_blank"&gt;user-agent&lt;/a&gt; request HTTP header to the server.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;If you are curious about how &lt;a title="Internet Explorer" href="http://cli.gs/Internet-Explorer" target="_blank"&gt;Internet Explorer&lt;/a&gt;’s user-agent string is form, read &lt;a title="Understanding User-Agent Strings" href="http://cli.gs/ZRq8rR" target="_blank"&gt;this article&lt;/a&gt;. &lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;This information is used by server software to identify the web browser the user is using and its capabilities and determine if it’s enough for use in this web site or to perform differentiate rendering.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;In the past there have been several reports of user-agent string buffer overrun attacks and some web servers and firewalls have chosen to block access to requests that have a user-agent string over some length.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;The problem that arrives now is that, due to other software installed in the user’s system, the user-agent string has been growing past the limit allowed by some web servers and firewalls.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;As an example, my web browser’s user-agent string, at this moment, is:&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Consolas"&gt;Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; InfoPath.2; .NET CLR 3.5.21022; .NET CLR 3.5.30729; .NET CLR 3.0.30618; Zune 3.0; OfficeLiveConnector.1.3; OfficeLivePatch.1.3; MS-RTC LM 8; SPC 3.1 P1 Ta)&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;With a user-agent string like this (275 characters long) I’ve been locked out of sever sites.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;</description></item></channel></rss>