<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>简单生活 -- Kevin Yang的博客 &#187; IE</title>
	<atom:link href="http://www.imkevinyang.com/tags/ie/feed" rel="self" type="application/rss+xml" />
	<link>http://www.imkevinyang.com</link>
	<description>It&#039;s all about sharing</description>
	<lastBuildDate>Sun, 05 Feb 2012 15:37:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>IE无法设置短域名下Cookie</title>
		<link>http://www.imkevinyang.com/2010/09/ie%e6%97%a0%e6%b3%95%e8%ae%be%e7%bd%ae%e7%9f%ad%e5%9f%9f%e5%90%8d%e4%b8%8bcookie.html</link>
		<comments>http://www.imkevinyang.com/2010/09/ie%e6%97%a0%e6%b3%95%e8%ae%be%e7%bd%ae%e7%9f%ad%e5%9f%9f%e5%90%8d%e4%b8%8bcookie.html#comments</comments>
		<pubDate>Mon, 06 Sep 2010 08:00:00 +0000</pubDate>
		<dc:creator>Kevin Yang</dc:creator>
				<category><![CDATA[疑难杂症]]></category>
		<category><![CDATA[Cookie]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[流量监测]]></category>
		<category><![CDATA[短域名]]></category>

		<guid isPermaLink="false">http://www.imkevinyang.com/2010/09/ie%e6%97%a0%e6%b3%95%e8%ae%be%e7%bd%ae%e7%9f%ad%e5%9f%9f%e5%90%8d%e4%b8%8bcookie.html</guid>
		<description><![CDATA[<p>最近客户在使用我们的流量监测系统以及GA时发现了一个问题，我们统计到的数据比GA的要多很多倍，而且我们统计到的数据中，跳出率非常高，高达99%左右。</p>
<p>在经过一番简单排查之后找到了问题所在，Cookie设置失败。</p>
<p>但至于为什么会失败，这个问题查了半天，最后在StackOverflow上面有人提到了，IE从&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>最近客户在使用我们的流量监测系统以及GA时发现了一个问题，我们统计到的数据比GA的要多很多倍，而且我们统计到的数据中，跳出率非常高，高达99%左右。</p>
<p>在经过一番简单排查之后找到了问题所在，Cookie设置失败。</p>
<p>但至于为什么会失败，这个问题查了半天，最后在StackOverflow上面有人提到了，IE从5.0开始就无法为短域名下设置Cookie。</p>
<p>那么多短才会出现问题呢？经过试验，发现包含点号在内一共<strong>5个字符以内包括5个字符</strong>都无法通过Javascript设置Cookie，不过这里有个前提，就是只有当你设置Cookie时显式指定了domain参数才会失败。也就是说如果你这么写：</p>
<pre class="brush: js">document.cookie=&quot;key=value;domain=ab.cn&quot;;</pre>
<p>Cookie设置会失败，如果去掉domain参数，直接这样写：</p>
<pre class="brush: js">document.cookie=&quot;key=value&quot;;</pre>
<p>则不会出现这样的问题，即便当前域依然是ab.cn。</p>
<p>这篇文章<a title="http://support.microsoft.com/kb/310676/en-us/" href="http://support.microsoft.com/kb/310676/en-us/">http://support.microsoft.com/kb/310676/en-us/</a>提到了类似的问题，不过貌似和这个情况不大一样。大家也可以参考一下。</p>
<p>因为Cookie设置失败，导致我们的流量监测系统认为每个访问都是一次新的访问，自然跳出率就极高了，而GA貌似Cookie设置失败就不发数据了。</p>
<p>Firefox和Chrome没有这样的问题。</p>
<p>Mark一下，希望对遇到类似问题的人有帮助。</p>
<p style="text-align: right">——<a title="IE无法设置短域名下Cookie" href="http://www.imkevinyang.com/2010/09/IE%e6%97%a0%e6%b3%95%e8%ae%be%e7%bd%ae%e7%9f%ad%e5%9f%9f%e5%90%8d%e4%b8%8bCookie.html"><em>Kevin Yang</em></a></p>

	标签：<a href="http://www.imkevinyang.com/tags/cookie" title="Cookie" rel="tag">Cookie</a>, <a href="http://www.imkevinyang.com/tags/ie" title="IE" rel="tag">IE</a>, <a href="http://www.imkevinyang.com/tags/%e6%b5%81%e9%87%8f%e7%9b%91%e6%b5%8b" title="流量监测" rel="tag">流量监测</a>, <a href="http://www.imkevinyang.com/categories/techarticles/knottyproblems" title="疑难杂症" rel="tag">疑难杂症</a>, <a href="http://www.imkevinyang.com/tags/%e7%9f%ad%e5%9f%9f%e5%90%8d" title="短域名" rel="tag">短域名</a><br />

	<h4 style="background-color:#3B3B3B;border-bottom:2px groove gray;color:#F2F2F2;margin-top:20px;padding:6px 6px 6px 15px;margin:20px 0px 0px 0px">你可能对下面的文章感兴趣</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.imkevinyang.com/2009/03/ie%e4%b8%ad%e4%bd%bf%e7%94%a8windowopen%e6%89%93%e5%bc%80%e6%96%b0%e7%aa%97%e5%8f%a3%e6%97%b6%e6%97%a0%e6%b3%95%e8%8e%b7%e5%8f%96referrer%e5%af%b9%e8%b1%a1.html" title="IE中使用window.open打开新窗口时无法获取Referrer对象 (2009/03/07)">IE中使用window.open打开新窗口时无法获取Referrer对象</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/06/javascript%e6%93%8d%e7%ba%b5cookie.html" title="Javascript操纵Cookie (2009/06/11)">Javascript操纵Cookie</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/05/%e5%bd%93google-analytics%e3%80%81firefox%e5%92%8ciis%e8%b5%b0%e5%88%b0%e4%ba%86%e4%b8%80%e8%b5%b7.html" title="当Google Analytics、Firefox和IIS走到了一起&#8230; (2010/05/29)">当Google Analytics、Firefox和IIS走到了一起&#8230;</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/02/%e5%bd%93%e5%89%8d%e6%97%a5%e6%9c%9f110%e5%b9%b4.html" title="当前日期110年 (2010/02/12)">当前日期110年</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/03/%e6%9c%80%e7%b2%be%e7%ae%80%e7%9a%84%e5%88%a4%e5%88%abie%e7%9a%84javascript%e4%bb%a3%e7%a0%81.html" title="最精简的判别IE的Javascript代码 (2009/03/23)">最精简的判别IE的Javascript代码</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/09/%e6%b5%81%e6%b0%93%e7%9a%84%e8%81%94%e9%80%9a%ef%bc%8c%e9%84%99%e8%a7%86%e4%b9%8b.html" title="流氓的联通，鄙视之 (2010/09/28)">流氓的联通，鄙视之</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/11/%e8%a7%a3%e5%86%b3win7%e4%b8%8bie8%e5%bc%80%e5%8f%91%e4%ba%ba%e5%91%98%e5%b7%a5%e5%85%b7%e7%aa%97%e5%8f%a3%e6%b6%88%e5%a4%b1%e7%9a%84%e9%97%ae%e9%a2%98.html" title="解决Win7下IE8开发人员工具打不开的问题 (2009/11/13)">解决Win7下IE8开发人员工具打不开的问题</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/01/%e8%a7%a3%e6%9e%90ie%e4%b8%ad%e7%9a%84javascript-error%e5%af%b9%e8%b1%a1.html" title="解析IE中的Javascript Error对象 (2010/01/17)">解析IE中的Javascript Error对象</a> </li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.imkevinyang.com/2010/09/ie%e6%97%a0%e6%b3%95%e8%ae%be%e7%bd%ae%e7%9f%ad%e5%9f%9f%e5%90%8d%e4%b8%8bcookie.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>当Google Analytics、Firefox和IIS走到了一起&#8230;</title>
		<link>http://www.imkevinyang.com/2010/05/%e5%bd%93google-analytics%e3%80%81firefox%e5%92%8ciis%e8%b5%b0%e5%88%b0%e4%ba%86%e4%b8%80%e8%b5%b7.html</link>
		<comments>http://www.imkevinyang.com/2010/05/%e5%bd%93google-analytics%e3%80%81firefox%e5%92%8ciis%e8%b5%b0%e5%88%b0%e4%ba%86%e4%b8%80%e8%b5%b7.html#comments</comments>
		<pubDate>Sat, 29 May 2010 10:25:09 +0000</pubDate>
		<dc:creator>Kevin Yang</dc:creator>
				<category><![CDATA[疑难杂症]]></category>
		<category><![CDATA[Bad Request]]></category>
		<category><![CDATA[Cookie]]></category>
		<category><![CDATA[Fiddler]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[WFetch]]></category>
		<category><![CDATA[中文]]></category>
		<category><![CDATA[非法请求]]></category>

		<guid isPermaLink="false">http://www.imkevinyang.com/2010/05/%e5%bd%93google-analytics%e3%80%81firefox%e5%92%8ciis%e8%b5%b0%e5%88%b0%e4%ba%86%e4%b8%80%e8%b5%b7.html</guid>
		<description><![CDATA[<p>今天同事在投放AdWords广告的时候发现了一个诡异的现象：</p>
<blockquote><p>使用Firefox点击AdWords广告跳转到客户网站上之后，再次刷新页面或者浏览其他页面均提示“Bad Request”的HTTP错误（错误码400）。</p>
<p>而IE、Chrome下则没有这个问题。</p></blockquote>
Cookie惹的祸
<p>由于HTTP本身是无状态的，用来&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>今天同事在投放AdWords广告的时候发现了一个诡异的现象：</p>
<blockquote><p>使用Firefox点击AdWords广告跳转到客户网站上之后，再次刷新页面或者浏览其他页面均提示“Bad Request”的HTTP错误（错误码400）。</p>
<p>而IE、Chrome下则没有这个问题。</p></blockquote>
<h2>Cookie惹的祸</h2>
<p>由于HTTP本身是无状态的，用来实现状态维持的技术一般都是Cookie。而之前我也遇到过几次因为Cookie导致的访问异常。一次是同事用Firefox死活访问不了新东方网站（参见我之前的文章：<a href="http://www.imkevinyang.com/2009/07/firefox%E6%97%A0%E6%B3%95%E8%AE%BF%E9%97%AE%E7%89%B9%E5%AE%9A%E7%BD%91%E7%AB%99.html">Firefox无法访问特定网站</a>），一次是我自己死活登录不了Gmail帐号。这两个问题最终都是以清空Cookie解决的。所以这次有经验了，用web developer bar查看当前客户网站下都有哪些Cookie，一瞄，发现一个带乱码的Cookie。</p>
<p><img style="display: inline; border-width: 0px;" title="GA的乱码Cookie" src="http://www.imkevinyang.com/wp-content/uploads/2010/05/image12.png" border="0" alt="GA的乱码Cookie" width="344" height="33" /></p>
<p>不用想，也知道这是因为中文没有编码就直接塞到Cookie里头导致的乱码。看看Cookie的来头，__utmz，是Google Analytics（GA）植入的。删除此Cookie之后，访问正常。</p>
<h2>Google Analytics的Cookie编码问题</h2>
<p>同事测试的那个广告的Url添加了Google Analytics支持的跟踪参数，并且客户网站上也部署了GA的代码。</p>
<p>GA在执行时会检测当前Url中是否包含广告跟踪参数（至少必须包含utm_source），一旦发现，则认为是付费流量，这个时候它就会提取广告信息中的来源（utm_source），广告系列（utm_campaign）和广告媒介（utm_medium），对其进行解码（先尝试用decodeURIComponent函数，失败的话再用unescape函数），最后持久化存储到__utmz这个Cookie中。但是就在<strong><span style="color: #008000;">写入Cookie这一步，GA漏掉了编码操作</span></strong>。也就是说，如果我们的广告系列或者广告媒介的原始信息包含中文，那么GA就会直接往Cookie中塞入中文信息。</p>
<p>举个例子，我要为我的博客投一个宣传广告：</p>
<ul>
<li>广告系列：Kevin博客宣传</li>
<li>广告来源：google</li>
<li>广告媒介：PPC</li>
<li>带跟踪参数的着陆页面Url：<a href="http://www.imkevinyang.com/?utm_source=google&amp;utm_medium=ppc&amp;utm_campaign=Kevin%E5%8D%9A%E5%AE%A2%E5%AE%A3%E4%BC%A0">http://www.imkevinyang.com/?utm_source=google&amp;utm_medium=ppc&amp;utm_campaign=Kevin%E5%8D%9A%E5%AE%A2%E5%AE%A3%E4%BC%A0</a></li>
</ul>
<p>那么GA在写Cookie的时候，会执行类似下面的代码（当然这里简化了__utmz的值）：</p>
<pre class="brush: js">var data = "Kevin博客宣传";
// GA错误的Cookie操作
document.cookie = "_utmz=" + data;
// 正确的Cookie存储操作
document.cookie = "_utmz=" + encodeURI(data);</pre>
<p>使用Javascript对Cookie进行存取，标准的操作应该是在存入的时候编一次码，取出的时候解一次码。这样保证存放在Cookie中的都是ASCII字符。早期JS使用escape/unescape进行编解码，现在通常使用encodeURI或者encodeURIComponent函数，这两个函数用的都是UTF-8编码。</p>
<h2>中文Cookie潜在的问题</h2>
<p>那么当我们直接将中文直接存到Cookie又会发生了什么事呢？IE和Firefox的行为有什么不一样的地方呢？我们在IE8和Firefox3.6下做几个实验。</p>
<h3>IE8对中文Cookie的处理</h3>
<p>实验步骤：</p>
<ul>
<li>打开IE8，清空所有Cookie和缓存，建立干净的测试环境。</li>
<li>访问<a href="http://www.imkevinyang.com/">http://www.imkevinyang.com/</a></li>
<li>地址栏执行javascript:alert(document.cookie="mycookie=缂栫爜编码;expires=Mon, 25 May 2020 10:31:49 GMT")，写入一个持久化cookie。</li>
</ul>
<p>这样就在我的博客上设置了一个2020年5月25号过期的cookie了。之所以要设置持久化cookie而不是会话Cookie，是因为IE会将持久化Cookie写入到硬盘上了，这样方便我们了解这个过程，而会话cookie我目前还不清楚他存储的位置。</p>
<p>细心的你会注意到，上面这个cookie的值很奇怪，有几个乱码。其实那段乱码是我把“编码”这两个汉字的UTF-8编码（6个字节）使用GB2312解码（每两个字节对应一个字符）后得到的字符。至于为什么要这样测试，一会我们就会知道了。</p>
<p>IE地址栏用的是ANSI编码，也就是说当你在地址栏输入中文的时候，IE会将中文字符以系统默认字符集进行编码。当你使用中文系统时，地址栏的“编码”字符，实际上最后会被编码为B1 E0 C2 EB四个字节，而在英文系统下，系统使用的是西方字符集作为默认字符集，没有中文字符，因此“编码”这两个字符会被替换成?，也就是3F。</p>
<p>IE在创建cookie文件，会自动选择最合适的编码。当我们写入“缂栫爜编码”（GB2312编码后得到二进制流E7 BC 96 E7 A0 81 B1 E0 C2 EB），由于最后四个字节无法用UTF-8解码，因此IE会将文件存储为GB2312。（如果你只测试“缂栫爜”的话，IE会将文件存储为UTF-8）。</p>
<p>好了，现在让我们来看看文件里头都是什么内容。</p>
<p>打开everything工具，搜索“www.imkevinyang txt”这样就会列出文件名包含www.imkevinyang和txt的所有文件。</p>
<p><img style="display: inline; border-width: 0px;" title="Everything快速搜索" src="http://www.imkevinyang.com/wp-content/uploads/2010/05/image13.png" border="0" alt="Everything快速搜索" width="158" height="84" /></p>
<p>打开这个文件，里头存放的就是IE持久化的cookie信息。</p>
<p><img style="display: inline; border-width: 0px;" title="IE存储持久化Cookie的文件" src="http://www.imkevinyang.com/wp-content/uploads/2010/05/image14.png" border="0" alt="IE存储持久化Cookie的文件" width="144" height="164" /> <img style="display: inline; border-width: 0px;" title="IE存储持久化Cookie的文件——二进制形式" src="http://www.imkevinyang.com/wp-content/uploads/2010/05/image15.png" border="0" alt="IE存储持久化Cookie的文件——二进制形式" width="406" height="105" /></p>
<p>这个时候，我们再在地址栏通过javascript:alert(document.cookie)我们会发现，IE显示的Cookie值和我们一开始设置的是一样的。</p>
<p>看完了本地的Cookie信息，我们接下来看看IE发送给服务器的Cookie又是什么。</p>
<p>我们用Fiddler来监视整个HTTP通讯过程（这里不用HTTP Watch是因为HTTP Watch会将HTTP消息解码后显示出来，没办法看到原始二进制数据，不方便分析）。</p>
<p>我们再向我的博客首页发起一次访问，在Fiddler中我们会看到：</p>
<p>（文本形式）</p>
<p><img style="display: inline; border-width: 0px;" title="Fiddler观察发送中文Cookie（文本形式）" src="http://www.imkevinyang.com/wp-content/uploads/2010/05/image16.png" border="0" alt="Fiddler观察发送中文Cookie（文本形式）" width="477" height="185" /></p>
<p>（二进制原始数据）</p>
<p><img style="display: inline; border-width: 0px;" title="Fiddler观察发送中文Cookie（二进制形式）" src="http://www.imkevinyang.com/wp-content/uploads/2010/05/image17.png" border="0" alt="Fiddler观察发送中文Cookie（二进制形式）" width="474" height="198" /></p>
<p>我们很惊奇的看到，IE发送的并不是我们设置的那些字符“缂栫爜编码”（二进制是E7 BC 96 E7 A0 81 B1 E0 C2 EB），而是“编码����”（现在知道我为什么要用“缂栫爜编码”做测试了把）。对应的二进制是E7 BC 96 E7 A0 81 EF BF BD EF BF BD EF BF BD EF BF BD。注意到，IE将原始信息的后面4个字节替换成了EF BF BD.</p>
<p>这是因为IE发送HTTP消息的时候会检测字节流是否是能够以UTF-8解码，如果不行，那么会将相应的异常字节替换成EF BF BD（也就是对应�字符）。这有点类似于我们之前提到的，英文系统对于缺失的字符会使用?号替代。</p>
<h3>Firefox对于中文Cookie的处理</h3>
<p>Firefox不像IE那样把Cookie直接存储为文件的形式，所以我们研究起来没那么方便。</p>
<p>不过我们还是按照上面同样的步骤来做实验，不过这次为了简单起见我们修改一下测试的Cookie值。</p>
<ul>
<li>打开Firefox，清空所有Cookie和缓存，建立干净的测试环境。</li>
<li>访问<a href="http://www.imkevinyang.com/">http://www.imkevinyang.com/</a></li>
<li>地址栏执行javascript:alert(document.cookie="mycookie=1编码1")</li>
</ul>
<ul>第一次Firefox弹出的对话框显示我们Cookie应该是设置成功了，返回“1编码1”字符串。</ul>
<p><img style="display: inline; border: 0px;" title="Firefox设置Cookie" src="http://www.imkevinyang.com/wp-content/uploads/2010/05/image18.png" border="0" alt="Firefox设置Cookie" width="297" height="138" /></p>
<p>但如果你再次通过Javascript:alert(document.cookie)你会发现，这次弹出的内容变了：</p>
<p><img style="display: inline; border: 0px;" title="Firefox显示乱码的Cookie" src="http://www.imkevinyang.com/wp-content/uploads/2010/05/image19.png" border="0" alt="Firefox显示乱码的Cookie" width="325" height="117" /></p>
<p>我们通过Web Developer Toolbar查看当前域下的Cookie，发现，目前的Cookie确实是像上面第二个对话框所示的，是带乱码的：</p>
<p><img style="display: inline; border: 0px;" title="Web Developer Bar看到的乱码的Cookie" src="http://www.imkevinyang.com/wp-content/uploads/2010/05/image20.png" border="0" alt="Web Developer Bar看到的乱码的Cookie" width="222" height="188" /></p>
<p>我们现在关心的问题是，这个乱码是怎么来的？</p>
<p>我们先把这串文字拷贝到Notepad++中（注意，需要将Notepad++调到UCS-2编码状态下）看一下对应的字节是什么。</p>
<p><img style="display: inline; border: 0px;" title="乱码cookie的二进制" src="http://www.imkevinyang.com/wp-content/uploads/2010/05/image21.png" border="0" alt="乱码cookie的二进制" width="239" height="41" /></p>
<p>31是字符“1”的ASCII码。而16和01是哪来的呢？</p>
<p>其实是Unicode Code Point。“编码”的Unicode码是“7F16 7801”。上面显示的16和01就是截断了Unicode码高位得到的。为了证实这个结论，我又测试了好几个中文cookie，均是如此。</p>
<p>也就是说，Firefox的地址栏使用的是Unicode码，也就是说当你输入“mycookie=1编码1”这样的字符串的时候，Firefox看到的是：</p>
<p>\u006d\u0079\u0063\u006f\u006f\u006b\u0069\u0065\u003d\u0031\u7f16\u7801\u0031</p>
<p>在存储中文Cookie的时候，他会将Unicode的高位截断，保留低位。然后写入Cookie存储。这也是为什么我们会看到“编码”这个Cookie变成了“16 01”。</p>
<p>Firefox向服务端发送HTTP请求时对于http消息的编码处理方式和IE的一样，也是判断字节流能够以UTF-8进行解码，这里就不再赘述了。有兴趣的朋友可以按照上面的方法去测试。</p>
<h2>为什么Firefox无法访问</h2>
<p>基于上面对IE和Firefox对中文Cookie的处理方式的了解，我们现在可以知道，对于中文Cookie，IE是用ANSI编码，也就是说Cookie中永远不会出现ASCII字符集中的不可打印字符（GB2312编码每个字节也都是从A0开始的），而Firefox采用Unicode码，却又对其进行了高位截断，导致Cookie有可能会出现ASCII字符集中的非打印字符。</p>
<p>IE和Firefox在构造HTTP消息的时候对于字节流序列编码问题的处理方式一样。无法使用UTF-8解码的字节流序列，将其替换成EF BF BD，这个我们在Fiddler中已经看到了。而对于ASCII字符集的非打印字符则不做任何处理，直接发送到服务器端。</p>
<p>所以用Firefox访问，服务端收到的HTTP Request有可能包含非打印字符，而IE访问的话，则不会出现这样的情况。</p>
<p>例如Firefox上设置了一个中文Cookie，“我”，Unicode码是62 11，被Firefox高位截断了，就剩下11了，对应着ASCII码表中的Device Control 1，也就是控制字符。那么当你带着这个Cookie向服务端发起请求的时候服务端有可能就会直接抛出Bad Request的异常，告诉客户端，你发过来的请求不符合HTTP规范。</p>
<p>所以实际上不只是Cookie不能出现这样的非打印字符，其他HTTP Header中也不能出现这样的非打印字符。我们可以直接使用WFetch来构造这样的“非法”请求：</p>
<p><img style="display: inline; border: 0px;" title="Wfetch发送异常请求" src="http://www.imkevinyang.com/wp-content/uploads/2010/05/image22.png" border="0" alt="Wfetch发送异常请求" width="177" height="183" /> <img style="display: inline; border: 0px;" title="UserAgent中包含非打印字符" src="http://www.imkevinyang.com/wp-content/uploads/2010/05/image23.png" border="0" alt="UserAgent中包含非打印字符" width="283" height="164" /></p>
<p>服务端一样会抛出400 Bad Request。</p>
<h2>IIS和Apache的不同处理方式</h2>
<p>当客户端发起的请求存在问题时，服务端的处理方式是取决于不同服务器的实现的。我们上面讨论的这个问题，实际上只会对IIS造成影响，对那些后台采用Apache或者LiteSpeed这类的服务器不会有影响。这说明IIS的容错性还是稍微差一点，不知道从安全的角度来考虑是好事还是坏事。</p>
<h2>总结回顾</h2>
<p>上面讲了那么多，你可能听着有点乱了。我们重新来整理一遍整个故事。</p>
<blockquote><p>广告代理商投了一个广告，着陆页面Url中添加了google的广告参数，其中带有中文信息，客户网站上部署了GA代码，GA读取到此中文信息之后直接扔到Cookie中而没有经过编码。Firefox内部将此中文的Unicode码高位截断保留低位存下来。当你再次刷新页面的时候，Firefox把这个截断的字符发给IIS服务器，而刚好这个截断之后的字符是一个非打印字符，IIS觉得自己无法处理，就抛出一个Bad Request，告诉客户端此请求非法，我无法处理。</p></blockquote>
<p>整个故事就这样。</p>
<p>怎么办呢？建议为了保险起见，如果客户网站服务器用的是IIS，那么你还是不要在Firefox上投放那些Url跟踪参数带中文（即使是UTF-8编码过）的广告了，否则可能浪费钱，因为用户来了，再点一次可能就无法访问了，而且以后可能都无法访问了（现在终于知道为什么我那同事当时用Firefox始终访问不了新东方了...）。(<span style="color: #ff0000;">update:2010-7-2</span>)或者你在投放广告的时候，Url参数中的广告系列、广告媒介以及广告来源这三个跟踪参数不要包含中文信息（即使是UTF-8编码过的），全部使用英文，这样也不会有问题。</p>
<p>希望整个分析过程对你有所帮助。</p>
<p style="text-align: right;">——<a title="当Google Analytics、Firefox和IIS走到了一起..." href="http://www.imkevinyang.com/2010/05/%e5%bd%93Google%20Analytics%e3%80%81Firefox%e5%92%8cIIS%e8%b5%b0%e5%88%b0%e4%ba%86%e4%b8%80%e8%b5%b7....html"><em><strong>Kevin Yang</strong></em></a></p>

	标签：<a href="http://www.imkevinyang.com/tags/bad-request" title="Bad Request" rel="tag">Bad Request</a>, <a href="http://www.imkevinyang.com/tags/cookie" title="Cookie" rel="tag">Cookie</a>, <a href="http://www.imkevinyang.com/tags/fiddler" title="Fiddler" rel="tag">Fiddler</a>, <a href="http://www.imkevinyang.com/tags/firefox" title="Firefox" rel="tag">Firefox</a>, <a href="http://www.imkevinyang.com/tags/google-analytics" title="Google Analytics" rel="tag">Google Analytics</a>, <a href="http://www.imkevinyang.com/tags/http" title="HTTP" rel="tag">HTTP</a>, <a href="http://www.imkevinyang.com/tags/ie" title="IE" rel="tag">IE</a>, <a href="http://www.imkevinyang.com/tags/iis" title="IIS" rel="tag">IIS</a>, <a href="http://www.imkevinyang.com/tags/wfetch" title="WFetch" rel="tag">WFetch</a>, <a href="http://www.imkevinyang.com/tags/%e4%b8%ad%e6%96%87" title="中文" rel="tag">中文</a>, <a href="http://www.imkevinyang.com/categories/techarticles/knottyproblems" title="疑难杂症" rel="tag">疑难杂症</a>, <a href="http://www.imkevinyang.com/tags/%e9%9d%9e%e6%b3%95%e8%af%b7%e6%b1%82" title="非法请求" rel="tag">非法请求</a><br />

	<h4 style="background-color:#3B3B3B;border-bottom:2px groove gray;color:#F2F2F2;margin-top:20px;padding:6px 6px 6px 15px;margin:20px 0px 0px 0px">你可能对下面的文章感兴趣</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.imkevinyang.com/2010/05/64%e4%bd%8d%e7%b3%bb%e7%bb%9f%e4%b8%8biis7-isapi%e5%a4%84%e7%90%86%e5%99%a8%e5%8a%a0%e8%bd%bd%e5%a4%b1%e8%b4%a5.html" title="64位系统下IIS7 ISAPI处理器加载失败 (2010/05/05)">64位系统下IIS7 ISAPI处理器加载失败</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/01/document-referrer%e4%b8%a2%e5%a4%b1%e7%9a%84%e5%87%a0%e4%b8%aa%e5%8e%9f%e5%9b%a0.html" title="Document.Referrer丢失的几个原因 (2010/01/18)">Document.Referrer丢失的几个原因</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/07/firefox%e6%97%a0%e6%b3%95%e8%ae%bf%e9%97%ae%e7%89%b9%e5%ae%9a%e7%bd%91%e7%ab%99.html" title="Firefox无法访问特定网站 (2009/07/02)">Firefox无法访问特定网站</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/01/google-analytics%e4%b8%ad%e7%9a%84page%e7%bb%b4%e5%ba%a6.html" title="Google Analytics中的Page维度 (2010/01/04)">Google Analytics中的Page维度</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/03/ie%e4%b8%ad%e4%bd%bf%e7%94%a8windowopen%e6%89%93%e5%bc%80%e6%96%b0%e7%aa%97%e5%8f%a3%e6%97%b6%e6%97%a0%e6%b3%95%e8%8e%b7%e5%8f%96referrer%e5%af%b9%e8%b1%a1.html" title="IE中使用window.open打开新窗口时无法获取Referrer对象 (2009/03/07)">IE中使用window.open打开新窗口时无法获取Referrer对象</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/09/ie%e6%97%a0%e6%b3%95%e8%ae%be%e7%bd%ae%e7%9f%ad%e5%9f%9f%e5%90%8d%e4%b8%8bcookie.html" title="IE无法设置短域名下Cookie (2010/09/06)">IE无法设置短域名下Cookie</a> </li>
	<li><a href="http://www.imkevinyang.com/2011/06/iis%e4%b8%ad%e4%bd%bf%e7%94%a8%e5%ad%90%e7%9b%ae%e5%bd%95%e6%96%87%e4%bb%b6%e4%bd%9c%e4%b8%ba%e9%bb%98%e8%ae%a4%e6%96%87%e6%a1%a3%ef%bc%88default-document%ef%bc%89%e6%9b%bf%e4%bb%a3%e9%87%8d%e5%ae%9a.html" title="IIS中使用子目录文件作为默认文档（Default Document）替代重定向 (2011/06/15)">IIS中使用子目录文件作为默认文档（Default Document）替代重定向</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/06/javascript%e6%93%8d%e7%ba%b5cookie.html" title="Javascript操纵Cookie (2009/06/11)">Javascript操纵Cookie</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/02/silverlight%e5%90%af%e7%94%a8assembly-caching%e4%b9%8b%e5%90%8e%e9%93%81%e9%80%9a%e7%94%a8%e6%88%b7%e6%97%a0%e6%b3%95%e8%ae%bf%e9%97%ae.html" title="Silverlight启用Assembly Caching之后铁通用户无法访问 (2010/02/13)">Silverlight启用Assembly Caching之后铁通用户无法访问</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/11/%e3%80%90%e6%8e%a8%e8%8d%90%e3%80%91%e4%b8%a4%e6%ac%behttp%e6%b5%81%e9%87%8f%e5%88%86%e6%9e%90%e5%b7%a5%e5%85%b7%e7%9a%84%e6%af%94%e8%be%83.html" title="【推荐】两款HTTP流量分析工具的比较 (2009/11/08)">【推荐】两款HTTP流量分析工具的比较</a> </li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.imkevinyang.com/2010/05/%e5%bd%93google-analytics%e3%80%81firefox%e5%92%8ciis%e8%b5%b0%e5%88%b0%e4%ba%86%e4%b8%80%e8%b5%b7.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>当前日期110年</title>
		<link>http://www.imkevinyang.com/2010/02/%e5%bd%93%e5%89%8d%e6%97%a5%e6%9c%9f110%e5%b9%b4.html</link>
		<comments>http://www.imkevinyang.com/2010/02/%e5%bd%93%e5%89%8d%e6%97%a5%e6%9c%9f110%e5%b9%b4.html#comments</comments>
		<pubDate>Thu, 11 Feb 2010 17:27:00 +0000</pubDate>
		<dc:creator>Kevin Yang</dc:creator>
				<category><![CDATA[Web传统技术]]></category>
		<category><![CDATA[110]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[兼容性]]></category>
		<category><![CDATA[时间函数]]></category>
		<category><![CDATA[脚本]]></category>

		<guid isPermaLink="false">http://www.imkevinyang.com/2010/02/%e5%bd%93%e5%89%8d%e6%97%a5%e6%9c%9f110%e5%b9%b4.html</guid>
		<description><![CDATA[<p>很多网站，特别是政府网站，喜欢在页面上放置当前的时间，我最近在网上瞎逛的时候注意到，部分网站显示的日期非常诡异，居然是“110年”。我用的是Chrome，所以第一反应就是看看在IE下是不是一样——如果一个做网站的做完之后都不在IE下看一眼的话，那就太不负责任了。果然，IE下显示的是2010年，很正常&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>很多网站，特别是政府网站，喜欢在页面上放置当前的时间，我最近在网上瞎逛的时候注意到，部分网站显示的日期非常诡异，居然是“110年”。我用的是Chrome，所以第一反应就是看看在IE下是不是一样——如果一个做网站的做完之后都不在IE下看一眼的话，那就太不负责任了。果然，IE下显示的是2010年，很正常。</p>
<p>跟了一下Javascript，发现该网站是使用getYear函数来获取当前年份。查了一下JS手册，getYear函数返回的其实是当前年份距离1900年的年数。2010-1900=110。此函数是在ECMAScript v1版本规定实现，到V3版本的时候已经废弃了，getFullYear才是用来获取当前年份的函数。Chrome和Firefox等浏览器在实现的时候都是遵循标准，而IE的JScript在实现的时候却没有遵循标准，结果getYear和getFullYear函数返回的都是当前年份。估计写Javascript的人在使用函数的时候没有看清楚手册说明就直接用了。</p>
<p style="text-align: right;">——<a title="当前日期110年" href="http://www.imkevinyang.com/2010/02/当前日期110年.html"><em><strong>Kevin Yang</strong></em></a></p>

	标签：<a href="http://www.imkevinyang.com/tags/110" title="110" rel="tag">110</a>, <a href="http://www.imkevinyang.com/tags/ie" title="IE" rel="tag">IE</a>, <a href="http://www.imkevinyang.com/tags/javascript" title="Javascript" rel="tag">Javascript</a>, <a href="http://www.imkevinyang.com/categories/techarticles/web%e4%bc%a0%e7%bb%9f%e6%8a%80%e6%9c%af" title="Web传统技术" rel="tag">Web传统技术</a>, <a href="http://www.imkevinyang.com/tags/%e5%85%bc%e5%ae%b9%e6%80%a7" title="兼容性" rel="tag">兼容性</a>, <a href="http://www.imkevinyang.com/tags/%e6%97%b6%e9%97%b4%e5%87%bd%e6%95%b0" title="时间函数" rel="tag">时间函数</a>, <a href="http://www.imkevinyang.com/tags/%e8%84%9a%e6%9c%ac" title="脚本" rel="tag">脚本</a><br />

	<h4 style="background-color:#3B3B3B;border-bottom:2px groove gray;color:#F2F2F2;margin-top:20px;padding:6px 6px 6px 15px;margin:20px 0px 0px 0px">你可能对下面的文章感兴趣</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.imkevinyang.com/2009/11/button%e6%a0%87%e7%ad%be%e9%bc%a0%e6%a0%87%e7%82%b9%e5%87%bb%e4%ba%8b%e4%bb%b6%e7%9a%84%e8%a7%a6%e5%8f%91%e6%ba%90%e9%97%ae%e9%a2%98.html" title="Button标签鼠标点击事件的触发源问题 (2009/11/27)">Button标签鼠标点击事件的触发源问题</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/08/firebug%e5%9c%a8edithtml%e6%97%b6%e4%b8%a2%e5%a4%b1%e4%ba%8b%e4%bb%b6%e5%a4%84%e7%90%86%e5%87%bd%e6%95%b0-2.html" title="Firebug在EditHtml时丢失事件处理函数 (2009/08/19)">Firebug在EditHtml时丢失事件处理函数</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/03/ie%e4%b8%ad%e4%bd%bf%e7%94%a8windowopen%e6%89%93%e5%bc%80%e6%96%b0%e7%aa%97%e5%8f%a3%e6%97%b6%e6%97%a0%e6%b3%95%e8%8e%b7%e5%8f%96referrer%e5%af%b9%e8%b1%a1.html" title="IE中使用window.open打开新窗口时无法获取Referrer对象 (2009/03/07)">IE中使用window.open打开新窗口时无法获取Referrer对象</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/09/ie%e6%97%a0%e6%b3%95%e8%ae%be%e7%bd%ae%e7%9f%ad%e5%9f%9f%e5%90%8d%e4%b8%8bcookie.html" title="IE无法设置短域名下Cookie (2010/09/06)">IE无法设置短域名下Cookie</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/07/javajs%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f%e5%8c%b9%e9%85%8d%e5%b5%8c%e5%a5%97html%e6%a0%87%e7%ad%be.html" title="Java/Js如何使用正则表达式匹配嵌套Html标签 (2010/07/30)">Java/Js如何使用正则表达式匹配嵌套Html标签</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/07/javascript-%e4%b8%ad%e7%9a%84false%e9%9b%b6%e5%80%bcnullundefined%e5%92%8c%e7%a9%ba%e5%ad%97%e7%ac%a6%e4%b8%b2%e5%af%b9%e8%b1%a1.html" title="Javascript 中的false,零值,null,undefined和空字符串对象 (2009/07/07)">Javascript 中的false,零值,null,undefined和空字符串对象</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/05/javascript%e4%b8%ad%e8%8e%b7%e5%8f%96%e5%87%ba%e9%94%99%e4%bb%a3%e7%a0%81%e6%89%80%e5%9c%a8%e6%96%87%e4%bb%b6%e5%8f%8a%e8%a1%8c%e6%95%b0.html" title="Javascript中获取出错代码所在文件及行数 (2009/05/18)">Javascript中获取出错代码所在文件及行数</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/04/javascript%e5%ad%97%e7%ac%a6%e4%b8%b2%e5%93%88%e5%b8%8c%e5%87%bd%e6%95%b0.html" title="Javascript字符串哈希函数 (2009/04/11)">Javascript字符串哈希函数</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/06/javascript%e6%93%8d%e7%ba%b5cookie.html" title="Javascript操纵Cookie (2009/06/11)">Javascript操纵Cookie</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/05/%e4%b8%ba%e4%bb%80%e4%b9%88iis77-5%e7%9a%84gzip%e4%b8%8d%e8%b5%b7%e4%bd%9c%e7%94%a8.html" title="为什么IIS7/7.5的Gzip不起作用 (2010/05/08)">为什么IIS7/7.5的Gzip不起作用</a> </li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.imkevinyang.com/2010/02/%e5%bd%93%e5%89%8d%e6%97%a5%e6%9c%9f110%e5%b9%b4.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>解析IE中的Javascript Error对象</title>
		<link>http://www.imkevinyang.com/2010/01/%e8%a7%a3%e6%9e%90ie%e4%b8%ad%e7%9a%84javascript-error%e5%af%b9%e8%b1%a1.html</link>
		<comments>http://www.imkevinyang.com/2010/01/%e8%a7%a3%e6%9e%90ie%e4%b8%ad%e7%9a%84javascript-error%e5%af%b9%e8%b1%a1.html#comments</comments>
		<pubDate>Sun, 17 Jan 2010 06:31:00 +0000</pubDate>
		<dc:creator>Kevin Yang</dc:creator>
				<category><![CDATA[Web传统技术]]></category>
		<category><![CDATA[Error]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[异常处理机制]]></category>

		<guid isPermaLink="false">http://www.imkevinyang.com/2010/01/%e8%a7%a3%e6%9e%90ie%e4%b8%ad%e7%9a%84javascript-error%e5%af%b9%e8%b1%a1.html</guid>
		<description><![CDATA[<p>之前写过一篇<a title="Javascript获取出错代码所在行数及文件名" href="http://www.imkevinyang.com/2009/05/javascript%E4%B8%AD%E8%8E%B7%E5%8F%96%E5%87%BA%E9%94%99%E4%BB%A3%E7%A0%81%E6%89%80%E5%9C%A8%E6%96%87%E4%BB%B6%E5%8F%8A%E8%A1%8C%E6%95%B0.html" target="_blank">文章</a>，提到怎么在各个浏览器下返回执行错误的Javascript代码所在的行数以及文件名。其中在IE下，如果你使用了try-catch，那么当出现异常的时候，浏览器会传递一个Error对象。</p>
<pre class="csharpcode"><span class="kwrd">&#60;</span><span class="html">script</span><span class="kwrd">&#62;</span>
    <span class="kwrd">try</span>{
        sldfj
    }<span class="kwrd">catch</span>(e){
        <span class="kwrd">for</span>(<span class="kwrd">var</span> p <span class="kwrd">in</span> e){
            docu&#8230;</pre>]]></description>
			<content:encoded><![CDATA[<p>之前写过一篇<a title="Javascript获取出错代码所在行数及文件名" href="http://www.imkevinyang.com/2009/05/javascript%E4%B8%AD%E8%8E%B7%E5%8F%96%E5%87%BA%E9%94%99%E4%BB%A3%E7%A0%81%E6%89%80%E5%9C%A8%E6%96%87%E4%BB%B6%E5%8F%8A%E8%A1%8C%E6%95%B0.html" target="_blank">文章</a>，提到怎么在各个浏览器下返回执行错误的Javascript代码所在的行数以及文件名。其中在IE下，如果你使用了try-catch，那么当出现异常的时候，浏览器会传递一个Error对象。</p>
<pre class="csharpcode"><span class="kwrd">&lt;</span><span class="html">script</span><span class="kwrd">&gt;</span>
    <span class="kwrd">try</span>{
        sldfj
    }<span class="kwrd">catch</span>(e){
        <span class="kwrd">for</span>(<span class="kwrd">var</span> p <span class="kwrd">in</span> e){
            document.writeln(p + <span class="str">&quot;=&quot;</span> + e[p]);
        }
    }
<span class="kwrd">&lt;/</span><span class="html">script</span><span class="kwrd">&gt;</span></pre>
<p>输出：name=TypeError message='sldfj' 未定义 number=-2146823279 description='sldfj' 未定义</p>
<p>其中的number属性是一个整数，表示的是错误码，但这并不是真正的错误码，我们需要先将其做一下转换</p>
<pre class="csharpcode"><span class="kwrd">var</span> errCode = err.number&amp; x0FFFF; </pre>
<p>这得到真正的错误码，例如上述的-2146823279 转换之后就得到5009。有了这个错误码之后，我们可以到<a href="http://msdn.microsoft.com/en-us/library/1dk3k160(VS.85).aspx">http://msdn.microsoft.com/en-us/library/1dk3k160(VS.85).aspx</a>微软msdn上查找此错误码对应的。5009对应的错误是Undefined identifier。</p>
<p align="right">——<a href="http://www.imkevinyang.com/"><em><strong>Kevin Yang</strong></em></a></p>

	标签：<a href="http://www.imkevinyang.com/tags/error" title="Error" rel="tag">Error</a>, <a href="http://www.imkevinyang.com/tags/ie" title="IE" rel="tag">IE</a>, <a href="http://www.imkevinyang.com/tags/javascript" title="Javascript" rel="tag">Javascript</a>, <a href="http://www.imkevinyang.com/categories/techarticles/web%e4%bc%a0%e7%bb%9f%e6%8a%80%e6%9c%af" title="Web传统技术" rel="tag">Web传统技术</a>, <a href="http://www.imkevinyang.com/tags/%e5%bc%82%e5%b8%b8%e5%a4%84%e7%90%86%e6%9c%ba%e5%88%b6" title="异常处理机制" rel="tag">异常处理机制</a><br />

	<h4 style="background-color:#3B3B3B;border-bottom:2px groove gray;color:#F2F2F2;margin-top:20px;padding:6px 6px 6px 15px;margin:20px 0px 0px 0px">你可能对下面的文章感兴趣</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.imkevinyang.com/2009/11/button%e6%a0%87%e7%ad%be%e9%bc%a0%e6%a0%87%e7%82%b9%e5%87%bb%e4%ba%8b%e4%bb%b6%e7%9a%84%e8%a7%a6%e5%8f%91%e6%ba%90%e9%97%ae%e9%a2%98.html" title="Button标签鼠标点击事件的触发源问题 (2009/11/27)">Button标签鼠标点击事件的触发源问题</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/03/ie%e4%b8%ad%e4%bd%bf%e7%94%a8windowopen%e6%89%93%e5%bc%80%e6%96%b0%e7%aa%97%e5%8f%a3%e6%97%b6%e6%97%a0%e6%b3%95%e8%8e%b7%e5%8f%96referrer%e5%af%b9%e8%b1%a1.html" title="IE中使用window.open打开新窗口时无法获取Referrer对象 (2009/03/07)">IE中使用window.open打开新窗口时无法获取Referrer对象</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/09/ie%e6%97%a0%e6%b3%95%e8%ae%be%e7%bd%ae%e7%9f%ad%e5%9f%9f%e5%90%8d%e4%b8%8bcookie.html" title="IE无法设置短域名下Cookie (2010/09/06)">IE无法设置短域名下Cookie</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/07/javajs%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f%e5%8c%b9%e9%85%8d%e5%b5%8c%e5%a5%97html%e6%a0%87%e7%ad%be.html" title="Java/Js如何使用正则表达式匹配嵌套Html标签 (2010/07/30)">Java/Js如何使用正则表达式匹配嵌套Html标签</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/07/javascript-%e4%b8%ad%e7%9a%84false%e9%9b%b6%e5%80%bcnullundefined%e5%92%8c%e7%a9%ba%e5%ad%97%e7%ac%a6%e4%b8%b2%e5%af%b9%e8%b1%a1.html" title="Javascript 中的false,零值,null,undefined和空字符串对象 (2009/07/07)">Javascript 中的false,零值,null,undefined和空字符串对象</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/05/javascript%e4%b8%ad%e8%8e%b7%e5%8f%96%e5%87%ba%e9%94%99%e4%bb%a3%e7%a0%81%e6%89%80%e5%9c%a8%e6%96%87%e4%bb%b6%e5%8f%8a%e8%a1%8c%e6%95%b0.html" title="Javascript中获取出错代码所在文件及行数 (2009/05/18)">Javascript中获取出错代码所在文件及行数</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/04/javascript%e5%ad%97%e7%ac%a6%e4%b8%b2%e5%93%88%e5%b8%8c%e5%87%bd%e6%95%b0.html" title="Javascript字符串哈希函数 (2009/04/11)">Javascript字符串哈希函数</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/06/javascript%e6%93%8d%e7%ba%b5cookie.html" title="Javascript操纵Cookie (2009/06/11)">Javascript操纵Cookie</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/05/%e4%b8%ba%e4%bb%80%e4%b9%88iis77-5%e7%9a%84gzip%e4%b8%8d%e8%b5%b7%e4%bd%9c%e7%94%a8.html" title="为什么IIS7/7.5的Gzip不起作用 (2010/05/08)">为什么IIS7/7.5的Gzip不起作用</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/09/%e4%bd%bf%e7%94%a8%e7%9b%b8%e5%af%b9url%e6%97%a0%e7%bc%9d%e5%88%87%e6%8d%a2http-https.html" title="使用相对Url无缝切换HTTP-HTTPS (2009/09/18)">使用相对Url无缝切换HTTP-HTTPS</a> </li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.imkevinyang.com/2010/01/%e8%a7%a3%e6%9e%90ie%e4%b8%ad%e7%9a%84javascript-error%e5%af%b9%e8%b1%a1.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>解决Win7下IE8开发人员工具打不开的问题</title>
		<link>http://www.imkevinyang.com/2009/11/%e8%a7%a3%e5%86%b3win7%e4%b8%8bie8%e5%bc%80%e5%8f%91%e4%ba%ba%e5%91%98%e5%b7%a5%e5%85%b7%e7%aa%97%e5%8f%a3%e6%b6%88%e5%a4%b1%e7%9a%84%e9%97%ae%e9%a2%98.html</link>
		<comments>http://www.imkevinyang.com/2009/11/%e8%a7%a3%e5%86%b3win7%e4%b8%8bie8%e5%bc%80%e5%8f%91%e4%ba%ba%e5%91%98%e5%b7%a5%e5%85%b7%e7%aa%97%e5%8f%a3%e6%b6%88%e5%a4%b1%e7%9a%84%e9%97%ae%e9%a2%98.html#comments</comments>
		<pubDate>Thu, 12 Nov 2009 17:09:00 +0000</pubDate>
		<dc:creator>Kevin Yang</dc:creator>
				<category><![CDATA[疑难杂症]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[IE8]]></category>
		<category><![CDATA[Win7]]></category>
		<category><![CDATA[出不来]]></category>
		<category><![CDATA[开发人员工具]]></category>
		<category><![CDATA[打不开]]></category>
		<category><![CDATA[消失]]></category>

		<guid isPermaLink="false">http://www.imkevinyang.com/2009/11/%e8%a7%a3%e5%86%b3win7%e4%b8%8bie8%e5%bc%80%e5%8f%91%e4%ba%ba%e5%91%98%e5%b7%a5%e5%85%b7%e7%aa%97%e5%8f%a3%e6%b6%88%e5%a4%b1%e7%9a%84%e9%97%ae%e9%a2%98.html</guid>
		<description><![CDATA[<p>IE8新增了开发人员工具，非常不错，比早期的DevToolbar好用多了。不过在我的Win7下使用的时候偶尔会出现一个莫名其妙的问题，就是整个开发人员工具窗口消失了，打不开了。当你使用win+Tab切换窗口的时候，整个开发者工具光是显示一片透明的区域，选中之后怎么都出不来。这个问题那会困扰了我很久，&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>IE8新增了开发人员工具，非常不错，比早期的DevToolbar好用多了。不过在我的Win7下使用的时候偶尔会出现一个莫名其妙的问题，就是整个开发人员工具窗口消失了，打不开了。当你使用win+Tab切换窗口的时候，整个开发者工具光是显示一片透明的区域，选中之后怎么都出不来。这个问题那会困扰了我很久，后来发现一个办法可以解决。就是在工具栏上将鼠标移到那个开发人员工具窗口图标上，注意，是图标，不是窗口。然后右键，选择最大化，这个时候，熟悉的开发人员工具窗口就出现了。</p>
<p><img src="http://www.imkevinyang.com/wp-content/uploads/2011/01/zrclip_002n5a3e417e.png" height="290" width="500"/></p>
<p>不知道是不是一个Bug，因为目前还不知道怎么能重现，所以没法提交给微软。不管怎么样，希望对其他遇到类似情况的人有帮助。</p>
<p>== <a style="FONT-FAMILY: comic sans ms; COLOR: black; FONT-WEIGHT: bold; TEXT-DECORATION: none" href="http://www.imkevinyang.com/2009/11/解决win7下ie8开发人员工具窗口消失的问题.html" target="_self" title="盘点国内外不同特色的Web流量分析工具">Kevin Yang</a> ==</p>

	标签：<a href="http://www.imkevinyang.com/tags/ie" title="IE" rel="tag">IE</a>, <a href="http://www.imkevinyang.com/tags/ie8" title="IE8" rel="tag">IE8</a>, <a href="http://www.imkevinyang.com/tags/win7" title="Win7" rel="tag">Win7</a>, <a href="http://www.imkevinyang.com/tags/%e5%87%ba%e4%b8%8d%e6%9d%a5" title="出不来" rel="tag">出不来</a>, <a href="http://www.imkevinyang.com/tags/%e5%bc%80%e5%8f%91%e4%ba%ba%e5%91%98%e5%b7%a5%e5%85%b7" title="开发人员工具" rel="tag">开发人员工具</a>, <a href="http://www.imkevinyang.com/tags/%e6%89%93%e4%b8%8d%e5%bc%80" title="打不开" rel="tag">打不开</a>, <a href="http://www.imkevinyang.com/tags/%e6%b6%88%e5%a4%b1" title="消失" rel="tag">消失</a>, <a href="http://www.imkevinyang.com/categories/techarticles/knottyproblems" title="疑难杂症" rel="tag">疑难杂症</a><br />

	<h4 style="background-color:#3B3B3B;border-bottom:2px groove gray;color:#F2F2F2;margin-top:20px;padding:6px 6px 6px 15px;margin:20px 0px 0px 0px">你可能对下面的文章感兴趣</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.imkevinyang.com/2009/03/ie%e4%b8%ad%e4%bd%bf%e7%94%a8windowopen%e6%89%93%e5%bc%80%e6%96%b0%e7%aa%97%e5%8f%a3%e6%97%b6%e6%97%a0%e6%b3%95%e8%8e%b7%e5%8f%96referrer%e5%af%b9%e8%b1%a1.html" title="IE中使用window.open打开新窗口时无法获取Referrer对象 (2009/03/07)">IE中使用window.open打开新窗口时无法获取Referrer对象</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/09/ie%e6%97%a0%e6%b3%95%e8%ae%be%e7%bd%ae%e7%9f%ad%e5%9f%9f%e5%90%8d%e4%b8%8bcookie.html" title="IE无法设置短域名下Cookie (2010/09/06)">IE无法设置短域名下Cookie</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/12/win7vista%e9%ab%98%e7%ba%a7%e7%94%a8%e6%88%b7%e5%bf%85%e5%a4%87%e7%9a%84%e5%8f%b3%e9%94%ae%e8%8f%9c%e5%8d%95take-back-my-ownership.html" title="Win7/Vista高级用户必备的右键菜单Take back my Ownership! (2009/12/06)">Win7/Vista高级用户必备的右键菜单Take back my Ownership!</a> </li>
	<li><a href="http://www.imkevinyang.com/2011/01/win7%e7%ae%a1%e7%90%86%e6%97%a0%e7%ba%bf%e7%bd%91%e7%bb%9c%e5%8f%98%e6%88%90%e5%b0%8f%e5%9b%be%e6%a0%87%e4%ba%86.html" title="Win7管理无线网络变成小图标了 (2011/01/04)">Win7管理无线网络变成小图标了</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/07/win7%e8%ae%bf%e9%97%ae%e8%bf%9c%e7%a8%8b%e6%a1%8c%e9%9d%a2%e6%9c%80%e5%a4%a7%e5%8c%96%e5%90%8c%e6%97%b6%e8%ae%a9%e4%bb%bb%e5%8a%a1%e6%a0%8f%e5%8f%af%e8%a7%81.html" title="Win7访问远程桌面最大化同时让任务栏可见 (2010/07/03)">Win7访问远程桌面最大化同时让任务栏可见</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/05/%e5%bd%93google-analytics%e3%80%81firefox%e5%92%8ciis%e8%b5%b0%e5%88%b0%e4%ba%86%e4%b8%80%e8%b5%b7.html" title="当Google Analytics、Firefox和IIS走到了一起&#8230; (2010/05/29)">当Google Analytics、Firefox和IIS走到了一起&#8230;</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/02/%e5%bd%93%e5%89%8d%e6%97%a5%e6%9c%9f110%e5%b9%b4.html" title="当前日期110年 (2010/02/12)">当前日期110年</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/03/%e6%9c%80%e7%b2%be%e7%ae%80%e7%9a%84%e5%88%a4%e5%88%abie%e7%9a%84javascript%e4%bb%a3%e7%a0%81.html" title="最精简的判别IE的Javascript代码 (2009/03/23)">最精简的判别IE的Javascript代码</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/01/%e8%a7%a3%e6%9e%90ie%e4%b8%ad%e7%9a%84javascript-error%e5%af%b9%e8%b1%a1.html" title="解析IE中的Javascript Error对象 (2010/01/17)">解析IE中的Javascript Error对象</a> </li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.imkevinyang.com/2009/11/%e8%a7%a3%e5%86%b3win7%e4%b8%8bie8%e5%bc%80%e5%8f%91%e4%ba%ba%e5%91%98%e5%b7%a5%e5%85%b7%e7%aa%97%e5%8f%a3%e6%b6%88%e5%a4%b1%e7%9a%84%e9%97%ae%e9%a2%98.html/feed</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>最精简的判别IE的Javascript代码</title>
		<link>http://www.imkevinyang.com/2009/03/%e6%9c%80%e7%b2%be%e7%ae%80%e7%9a%84%e5%88%a4%e5%88%abie%e7%9a%84javascript%e4%bb%a3%e7%a0%81.html</link>
		<comments>http://www.imkevinyang.com/2009/03/%e6%9c%80%e7%b2%be%e7%ae%80%e7%9a%84%e5%88%a4%e5%88%abie%e7%9a%84javascript%e4%bb%a3%e7%a0%81.html#comments</comments>
		<pubDate>Sun, 22 Mar 2009 16:09:18 +0000</pubDate>
		<dc:creator>Kevin Yang</dc:creator>
				<category><![CDATA[代码库]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://www.imkevinyang.com/2009/03/%e6%9c%80%e7%b2%be%e7%ae%80%e7%9a%84%e5%88%a4%e5%88%abie%e7%9a%84javascript%e4%bb%a3%e7%a0%81.html</guid>
		<description><![CDATA[<pre><span style="color: #0000ff">var</span> isIE = (&#34;<span style="color: #8b0000">\v</span>&#34;==&#34;<span style="color: #8b0000">v</span>&#34;);  </pre>

	标签：<a href="http://www.imkevinyang.com/tags/ie" title="IE" rel="tag">IE</a>, <a href="http://www.imkevinyang.com/tags/javascript" title="Javascript" rel="tag">Javascript</a>, <a href="http://www.imkevinyang.com/categories/techarticles/codebase" title="代码库" rel="tag">代码库</a>, <a href="http://www.imkevinyang.com/tags/browser" title="浏览器" rel="tag">浏览器</a><br />

	<h4 style="background-color:#3B3B3B;border-bottom:2px groove gray;color:#F2F2F2;margin-top:20px;padding:6px 6px 6px 15px;margin:20px 0px 0px 0px">你可能对下面的文章感兴趣</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.imkevinyang.com/2009/11/button%e6%a0%87%e7%ad%be%e9%bc%a0%e6%a0%87%e7%82%b9%e5%87%bb%e4%ba%8b%e4%bb%b6%e7%9a%84%e8%a7%a6%e5%8f%91%e6%ba%90%e9%97%ae%e9%a2%98.html" title="Button标签鼠标点击事件的触发源问题 (2009/11/27)">Button标签鼠标点击事件的触发源问题</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/03/ie%e4%b8%ad%e4%bd%bf%e7%94%a8windowopen%e6%89%93%e5%bc%80%e6%96%b0%e7%aa%97%e5%8f%a3%e6%97%b6%e6%97%a0%e6%b3%95%e8%8e%b7%e5%8f%96referrer%e5%af%b9%e8%b1%a1.html" title="IE中使用window.open打开新窗口时无法获取Referrer对象 (2009/03/07)">IE中使用window.open打开新窗口时无法获取Referrer对象</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/09/ie%e6%97%a0%e6%b3%95%e8%ae%be%e7%bd%ae%e7%9f%ad%e5%9f%9f%e5%90%8d%e4%b8%8bcookie.html" title="IE无法设置短域名下Cookie (2010/09/06)">IE无法设置短域名下Cookie</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/07/javajs%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f%e5%8c%b9%e9%85%8d%e5%b5%8c%e5%a5%97html%e6%a0%87%e7%ad%be.html" title="Java/Js如何使用正则表达式匹配嵌套Html标签 (2010/07/30)">Ja&#8230;</a></li></ul>]]></description>
			<content:encoded><![CDATA[<pre><span style="color: #0000ff">var</span> isIE = (&quot;<span style="color: #8b0000">\v</span>&quot;==&quot;<span style="color: #8b0000">v</span>&quot;);  </pre>

	标签：<a href="http://www.imkevinyang.com/tags/ie" title="IE" rel="tag">IE</a>, <a href="http://www.imkevinyang.com/tags/javascript" title="Javascript" rel="tag">Javascript</a>, <a href="http://www.imkevinyang.com/categories/techarticles/codebase" title="代码库" rel="tag">代码库</a>, <a href="http://www.imkevinyang.com/tags/browser" title="浏览器" rel="tag">浏览器</a><br />

	<h4 style="background-color:#3B3B3B;border-bottom:2px groove gray;color:#F2F2F2;margin-top:20px;padding:6px 6px 6px 15px;margin:20px 0px 0px 0px">你可能对下面的文章感兴趣</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.imkevinyang.com/2009/11/button%e6%a0%87%e7%ad%be%e9%bc%a0%e6%a0%87%e7%82%b9%e5%87%bb%e4%ba%8b%e4%bb%b6%e7%9a%84%e8%a7%a6%e5%8f%91%e6%ba%90%e9%97%ae%e9%a2%98.html" title="Button标签鼠标点击事件的触发源问题 (2009/11/27)">Button标签鼠标点击事件的触发源问题</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/03/ie%e4%b8%ad%e4%bd%bf%e7%94%a8windowopen%e6%89%93%e5%bc%80%e6%96%b0%e7%aa%97%e5%8f%a3%e6%97%b6%e6%97%a0%e6%b3%95%e8%8e%b7%e5%8f%96referrer%e5%af%b9%e8%b1%a1.html" title="IE中使用window.open打开新窗口时无法获取Referrer对象 (2009/03/07)">IE中使用window.open打开新窗口时无法获取Referrer对象</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/09/ie%e6%97%a0%e6%b3%95%e8%ae%be%e7%bd%ae%e7%9f%ad%e5%9f%9f%e5%90%8d%e4%b8%8bcookie.html" title="IE无法设置短域名下Cookie (2010/09/06)">IE无法设置短域名下Cookie</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/07/javajs%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f%e5%8c%b9%e9%85%8d%e5%b5%8c%e5%a5%97html%e6%a0%87%e7%ad%be.html" title="Java/Js如何使用正则表达式匹配嵌套Html标签 (2010/07/30)">Java/Js如何使用正则表达式匹配嵌套Html标签</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/07/javascript-%e4%b8%ad%e7%9a%84false%e9%9b%b6%e5%80%bcnullundefined%e5%92%8c%e7%a9%ba%e5%ad%97%e7%ac%a6%e4%b8%b2%e5%af%b9%e8%b1%a1.html" title="Javascript 中的false,零值,null,undefined和空字符串对象 (2009/07/07)">Javascript 中的false,零值,null,undefined和空字符串对象</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/05/javascript%e4%b8%ad%e8%8e%b7%e5%8f%96%e5%87%ba%e9%94%99%e4%bb%a3%e7%a0%81%e6%89%80%e5%9c%a8%e6%96%87%e4%bb%b6%e5%8f%8a%e8%a1%8c%e6%95%b0.html" title="Javascript中获取出错代码所在文件及行数 (2009/05/18)">Javascript中获取出错代码所在文件及行数</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/04/javascript%e5%ad%97%e7%ac%a6%e4%b8%b2%e5%93%88%e5%b8%8c%e5%87%bd%e6%95%b0.html" title="Javascript字符串哈希函数 (2009/04/11)">Javascript字符串哈希函数</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/06/javascript%e6%93%8d%e7%ba%b5cookie.html" title="Javascript操纵Cookie (2009/06/11)">Javascript操纵Cookie</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/04/pre%e6%a0%87%e7%ad%be%e5%86%85%e6%96%87%e5%ad%97%e8%87%aa%e5%8a%a8%e6%8d%a2%e8%a1%8c%ef%bc%88%e5%85%bc%e5%ae%b9%e5%a4%9a%e6%95%b0%e4%b8%bb%e6%b5%81%e6%b5%8f%e8%a7%88%e5%99%a8%ef%bc%89.html" title="Pre标签内文字自动换行（兼容多数主流浏览器） (2009/04/09)">Pre标签内文字自动换行（兼容多数主流浏览器）</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/05/%e4%b8%ba%e4%bb%80%e4%b9%88iis77-5%e7%9a%84gzip%e4%b8%8d%e8%b5%b7%e4%bd%9c%e7%94%a8.html" title="为什么IIS7/7.5的Gzip不起作用 (2010/05/08)">为什么IIS7/7.5的Gzip不起作用</a> </li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.imkevinyang.com/2009/03/%e6%9c%80%e7%b2%be%e7%ae%80%e7%9a%84%e5%88%a4%e5%88%abie%e7%9a%84javascript%e4%bb%a3%e7%a0%81.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>IE中使用window.open打开新窗口时无法获取Referrer对象</title>
		<link>http://www.imkevinyang.com/2009/03/ie%e4%b8%ad%e4%bd%bf%e7%94%a8windowopen%e6%89%93%e5%bc%80%e6%96%b0%e7%aa%97%e5%8f%a3%e6%97%b6%e6%97%a0%e6%b3%95%e8%8e%b7%e5%8f%96referrer%e5%af%b9%e8%b1%a1.html</link>
		<comments>http://www.imkevinyang.com/2009/03/ie%e4%b8%ad%e4%bd%bf%e7%94%a8windowopen%e6%89%93%e5%bc%80%e6%96%b0%e7%aa%97%e5%8f%a3%e6%97%b6%e6%97%a0%e6%b3%95%e8%8e%b7%e5%8f%96referrer%e5%af%b9%e8%b1%a1.html#comments</comments>
		<pubDate>Sun, 08 Mar 2009 01:54:37 +0000</pubDate>
		<dc:creator>Kevin Yang</dc:creator>
				<category><![CDATA[技术随笔]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Referrer]]></category>
		<category><![CDATA[兼容性]]></category>
		<category><![CDATA[弹出窗口]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://www.imkevinyang.com/?p=121</guid>
		<description><![CDATA[<p style="text-align: left"><span style="font-size: 10pt">在<span style="font-family: tahoma">IE</span>中，当你使用<span style="font-family: tahoma">javascript</span>的<span style="font-family: tahoma">window.open</span>方法来打开一个新的对象的时候，<span style="font-family: tahoma">IE</span>并不会自动帮你传递<span style="font-family: tahoma">Referrer</span>对象到新的窗口的，也就是说你在新窗口中使用<span style="font-family: tahoma">javascript</span>读取<span style="font-family: tahoma">document.Referrer</span>对象时只会读到空值。而且后台在<span style="font-family: tahoma">HTTP</span>请求头中也不会包含<span style="font-family: tahoma">Referre&#8230;</span></span></p>]]></description>
			<content:encoded><![CDATA[<p style="text-align: left"><span style="font-size: 10pt">在<span style="font-family: tahoma">IE</span>中，当你使用<span style="font-family: tahoma">javascript</span>的<span style="font-family: tahoma">window.open</span>方法来打开一个新的对象的时候，<span style="font-family: tahoma">IE</span>并不会自动帮你传递<span style="font-family: tahoma">Referrer</span>对象到新的窗口的，也就是说你在新窗口中使用<span style="font-family: tahoma">javascript</span>读取<span style="font-family: tahoma">document.Referrer</span>对象时只会读到空值。而且后台在<span style="font-family: tahoma">HTTP</span>请求头中也不会包含<span style="font-family: tahoma">Referrer</span>头的。例如 </span></p>
<pre class="csharpcode"><span class="kwrd">&lt;</span><span class="html">a</span> <span class="attr">href</span><span class="kwrd">=&quot;javascript:window.open('newurl.php?' + urlencode
(document.location.toString()),'','height=200,width=150');&quot;</span><span class="kwrd">&gt;</span>click here<span class="kwrd">&lt;/</span><span class="html">a</span><span class="kwrd">&gt;</span> </pre>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p style="text-align: left"><span style="font-size: 10pt">如果是我们自己做的站点，那么我们最好使用<span style="font-family: tahoma">target</span>属性来规避这个问题。如下<span style="font-family: 宋体"> </span></span></p>
<p style="text-align: left"><span style="font-size: 10pt; font-family: tahoma">&lt;a href=&quot;newurl.php&quot; target=&quot;_blank&quot;&gt;click here&lt;/a&gt; </span></p>
<p style="text-align: left"><span style="font-size: 10pt">如果打算在<span style="font-family: tahoma">javascript</span>中处理<span style="font-family: tahoma">Referrer</span>信息，那么还可以通过下面的方法来获取<span style="font-family: tahoma">Referrer</span>信息</span></p>
<pre class="csharpcode"><span class="kwrd">var</span> ReferringUrl = <span class="str">&quot;&quot;</span>;
<span class="kwrd">if</span> (document.referrer)
ReferringUrl = document.referrer.toString();
<span class="kwrd">if</span> (window.opener &amp;&amp; window.opener.location)
ReferringUrl = window.opener.location.toString(); </pre>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p></p>
</p>
<p style="text-align: left"><span style="font-size: 10pt">如果后台代码也需要访问<span style="font-family: tahoma">Referrer</span>信息，并且必须得使用<span style="font-family: tahoma">window.open</span>方法时，那么可以将<span style="font-family: tahoma">Referrer</span>的信息作为<span style="font-family: tahoma">querystring</span>的一部分来传递<span style="font-family: 宋体"> </span></span></p>
<p style="text-align: left"><span style="font-size: 10pt; font-family: tahoma"></span></p>
<pre class="csharpcode"><span class="kwrd">&lt;</span><span class="html">a</span> <span class="attr">href</span><span class="kwrd">=&quot;javascript:window.open('newurl.php?' + urlencode
(document.location.toString()),'','height=200,width=150');&quot;</span><span class="kwrd">&gt;</span>click here<span class="kwrd">&lt;/</span><span class="html">a</span><span class="kwrd">&gt;</span> </pre>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>

	标签：<a href="http://www.imkevinyang.com/tags/ie" title="IE" rel="tag">IE</a>, <a href="http://www.imkevinyang.com/tags/javascript" title="Javascript" rel="tag">Javascript</a>, <a href="http://www.imkevinyang.com/tags/referrer" title="Referrer" rel="tag">Referrer</a>, <a href="http://www.imkevinyang.com/tags/%e5%85%bc%e5%ae%b9%e6%80%a7" title="兼容性" rel="tag">兼容性</a>, <a href="http://www.imkevinyang.com/tags/%e5%bc%b9%e5%87%ba%e7%aa%97%e5%8f%a3" title="弹出窗口" rel="tag">弹出窗口</a>, <a href="http://www.imkevinyang.com/categories/techarticles" title="技术随笔" rel="tag">技术随笔</a>, <a href="http://www.imkevinyang.com/tags/browser" title="浏览器" rel="tag">浏览器</a><br />

	<h4 style="background-color:#3B3B3B;border-bottom:2px groove gray;color:#F2F2F2;margin-top:20px;padding:6px 6px 6px 15px;margin:20px 0px 0px 0px">你可能对下面的文章感兴趣</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.imkevinyang.com/2009/11/button%e6%a0%87%e7%ad%be%e9%bc%a0%e6%a0%87%e7%82%b9%e5%87%bb%e4%ba%8b%e4%bb%b6%e7%9a%84%e8%a7%a6%e5%8f%91%e6%ba%90%e9%97%ae%e9%a2%98.html" title="Button标签鼠标点击事件的触发源问题 (2009/11/27)">Button标签鼠标点击事件的触发源问题</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/01/document-referrer%e4%b8%a2%e5%a4%b1%e7%9a%84%e5%87%a0%e4%b8%aa%e5%8e%9f%e5%9b%a0.html" title="Document.Referrer丢失的几个原因 (2010/01/18)">Document.Referrer丢失的几个原因</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/09/ie%e6%97%a0%e6%b3%95%e8%ae%be%e7%bd%ae%e7%9f%ad%e5%9f%9f%e5%90%8d%e4%b8%8bcookie.html" title="IE无法设置短域名下Cookie (2010/09/06)">IE无法设置短域名下Cookie</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/07/javajs%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f%e5%8c%b9%e9%85%8d%e5%b5%8c%e5%a5%97html%e6%a0%87%e7%ad%be.html" title="Java/Js如何使用正则表达式匹配嵌套Html标签 (2010/07/30)">Java/Js如何使用正则表达式匹配嵌套Html标签</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/07/javascript-%e4%b8%ad%e7%9a%84false%e9%9b%b6%e5%80%bcnullundefined%e5%92%8c%e7%a9%ba%e5%ad%97%e7%ac%a6%e4%b8%b2%e5%af%b9%e8%b1%a1.html" title="Javascript 中的false,零值,null,undefined和空字符串对象 (2009/07/07)">Javascript 中的false,零值,null,undefined和空字符串对象</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/05/javascript%e4%b8%ad%e8%8e%b7%e5%8f%96%e5%87%ba%e9%94%99%e4%bb%a3%e7%a0%81%e6%89%80%e5%9c%a8%e6%96%87%e4%bb%b6%e5%8f%8a%e8%a1%8c%e6%95%b0.html" title="Javascript中获取出错代码所在文件及行数 (2009/05/18)">Javascript中获取出错代码所在文件及行数</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/04/javascript%e5%ad%97%e7%ac%a6%e4%b8%b2%e5%93%88%e5%b8%8c%e5%87%bd%e6%95%b0.html" title="Javascript字符串哈希函数 (2009/04/11)">Javascript字符串哈希函数</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/06/javascript%e6%93%8d%e7%ba%b5cookie.html" title="Javascript操纵Cookie (2009/06/11)">Javascript操纵Cookie</a> </li>
	<li><a href="http://www.imkevinyang.com/2009/04/pre%e6%a0%87%e7%ad%be%e5%86%85%e6%96%87%e5%ad%97%e8%87%aa%e5%8a%a8%e6%8d%a2%e8%a1%8c%ef%bc%88%e5%85%bc%e5%ae%b9%e5%a4%9a%e6%95%b0%e4%b8%bb%e6%b5%81%e6%b5%8f%e8%a7%88%e5%99%a8%ef%bc%89.html" title="Pre标签内文字自动换行（兼容多数主流浏览器） (2009/04/09)">Pre标签内文字自动换行（兼容多数主流浏览器）</a> </li>
	<li><a href="http://www.imkevinyang.com/2010/05/%e4%b8%ba%e4%bb%80%e4%b9%88iis77-5%e7%9a%84gzip%e4%b8%8d%e8%b5%b7%e4%bd%9c%e7%94%a8.html" title="为什么IIS7/7.5的Gzip不起作用 (2010/05/08)">为什么IIS7/7.5的Gzip不起作用</a> </li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.imkevinyang.com/2009/03/ie%e4%b8%ad%e4%bd%bf%e7%94%a8windowopen%e6%89%93%e5%bc%80%e6%96%b0%e7%aa%97%e5%8f%a3%e6%97%b6%e6%97%a0%e6%b3%95%e8%8e%b7%e5%8f%96referrer%e5%af%b9%e8%b1%a1.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced

Served from: www.imkevinyang.com @ 2012-02-08 00:17:22 -->
