<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>恐龙志 - evolve the web!</title>
        <link>http://www.w3cool.com/</link>
        <description>The Place where deploy our Ideas and Paranoeas!</description>
        <language>zh-cn</language>
        <copyright>Copyright 2009</copyright>
        <lastBuildDate>Mon, 12 Oct 2009 16:28:07 +0800</lastBuildDate>
        <generator>http://www.sixapart.com/movabletype/</generator>
        <docs>http://www.rssboard.org/rss-specification</docs>
        
        <item>
            <title>&quot;说说&quot;SaySo收费版本</title>
            <description><![CDATA[<p>关于很多用户希望获得更好服务的问题，在这里统一做回答，收费版本有单独的服务器组。</p>
<p>&nbsp;有两种方式：</p>
<p>一种方式是购买服务，即还是以嵌入代码的方式，即时提交及时合成，不排队，保证硬件及带宽，按<span style="color: #000080"><b>年</b></span>收费，按域名授权：</p>
<p>1、alexa排名100万外1500元 (每年)； <br />
2、alexa排名100万-50万以内的2500元 (每年)； <br />
3、alexa排名50万内50万以内的3500元 (每年)；<br />
4、alexa排名30万以内的4500 (每年)；<br />
5、alexa排名10万以内7500 (每年)；<br />
6、alexa排名5万以内9500 (每年)；<br />
7、alexa排名1万以内的高流量网单独洽谈。<br />
<b><span style="color: #ff0000">*</span></b><span style="color: #ff0000"> </span>1500元定制播放器。</p>
<p>二是购买软件，按CPU授权，需要打开CPUID功能。<br />
单机版本25000元/CPU(超线程及多核CPU按物理个数计算)，包3次安装，免费定制播放器一次。</p>
<p>如需要请联系销售代表： <span style="color: #ff0000; font-size: 18px"><b>QQ：909990866 Mail：<a href="mailto:909990866@qq.com">909990866@qq.com</a></b></span></p>
<p>&nbsp;</p>]]></description>
            <link>http://www.w3cool.com/2009/10/12/sayso_1.html</link>
            <guid>http://www.w3cool.com/2009/10/12/sayso_1.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">说说|SaySo</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">项目|Projects</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">SaySo</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">说说</category>
            
            <pubDate>Mon, 12 Oct 2009 16:28:07 +0800</pubDate>
        </item>
        
        <item>
            <title>一种更高效率的ISAPI整合IIS与Tomcat_JSP的方式(非jk)</title>
            <description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 今天发现一种极好的整合IIS和JSP的方法，毫无疑问java在windows下运行比在linux运行效率要高(大约4%)，同比IIS比Apache的IO能力强，在不考虑了lisence的问题下，笔者一直在考虑在windows下部署java的生产环境，尽管笔者的很大程度的工作是管理的维护linux服务器，但是发现很多时候windows还是最好的选择，当然是在得到一样优秀的维护和管理的前提下，一直以来很头疼的就是Tomcat和IIS的整合，在windows下肯定不会考虑使用apache，apache在windows下的表现太差了。笔者使用了2个月时间仔细研读和修改apache 2.29版的windows版源代码(哈哈，不专业了apache的源代码是可移植C++不分版本)试图优化apache的IO。 最终不得不放弃，Apache的构架上不如IIS,在windows上表现始终不如意，所以还是考虑用IIS整合tomcat.</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IIS整合Tomcat的传统方式是JK,通过8009端口做代理，这样做缺点很多，当然优点也很多，优点我就不说了。这样的缺点是实际上要socket一次，笔者认为除非在一台IIS+多个Tomcat，或者IIS和tomcat不在一台服务器上时才有必要使用。在大多数情况，也就是IIS和Tomcat在同一台服务器上时，完全可以用一种高效的办法.</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 答案其实就是asp.net里的ihttphandle, 使用asp.net的ISAPI handle劫持要转发的页面（图方便，有达人直接写一个C++的ISAPI也行，.net基于jit效率也没得说），<strong>直接把他rewrite到8080端口上，</strong>也就是实际上IIS和Tomcat没有任何通信。图片、js、html全部IIS处理，这个小程序只处理URL。也就是我写的这个JSP ihttphandle直接取tomcat 的response 作为IIS的response。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下载 <a href="http://www.w3cool.com/upload/JSP_iHttpHandle.rar">JSP_iHttpHandle.dll</a> (.net 3.5)&nbsp; 拷贝到站点的bin目录。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 修改web.config添加：</p><p>&lt;!-- JSP ihttpHandle 配置 --&gt; <br /><span style="background-color: #c0c0c0"><span style="color: #003300">&lt;add path=&quot;*.jsp&quot; verb=&quot;GET,POST&quot; type=&quot;<strong>com.w3cool.web.jsp.TomcatRequestHandler</strong>&quot; /&gt; <br />&lt;add path=&quot;*.xhtml&quot; verb=&quot;GET,POST&quot; type=&quot;<strong>com.w3cool.web.jsp.TomcatRequestHandler</strong>&quot; /&gt; <br />&lt;add path=&quot;/servlet/*&quot; verb=&quot;GET,POST&quot; type=&quot;<strong>com.w3cool.web.jsp.TomcatRequestHandler</strong>&quot; /&gt; <br /></span></span>&lt;!-- JSP ihttpHandle 配置 --&gt;</p><p>然后在 站点属性&nbsp; -&gt; &quot;home directory&quot; -&gt;Configuration -&gt;</p><p>把.jsp .xhtml你要tomcat处理的内容加在aspnet_isapi.dll上，当然也可以图方便设定一个WildCard</p><p><a href="http://www.w3cool.com/WindowsLiveWriter/ISAPIIISJSPjk_1624/j1_2.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="440" alt="j1" width="425" border="0" src="http://www.w3cool.com/WindowsLiveWriter/ISAPIIISJSPjk_1624/j1_thumb.jpg" /></a></p><p>好了。现在就可以看看效果</p>]]></description>
            <link>http://www.w3cool.com/2008/09/09/isapi_iis_jsp_jk_tomcat.html</link>
            <guid>http://www.w3cool.com/2008/09/09/isapi_iis_jsp_jk_tomcat.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">.Net Framework</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Java/JSP</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">系统|System</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">项目|Projects</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">iis</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">java</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">jk</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">tomcat</category>
            
            <pubDate>Tue, 09 Sep 2008 17:34:06 +0800</pubDate>
        </item>
        
        <item>
            <title>&quot;说说&quot; BugReport！</title>
            <description><![CDATA[<p>2007-5-20 发现合成语音的服务无法启动，查看日志发现是因为更新了最新的安全补丁，服务的数字签名失效了，索性去掉的数字签名，回收.net,OK！</p><p>以后对&quot;说说&quot;bug报告请在这里留言。最近删除垃圾留言删的手发麻，手一抖删除了20多篇正常留言，请见谅。</p><p>邮件: <a href="mailto:zhangweijie@gmail.com">zhangweijie@gmail.com</a></p>]]></description>
            <link>http://www.w3cool.com/2008/05/20/_bugreport.html</link>
            <guid>http://www.w3cool.com/2008/05/20/_bugreport.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">说说|SaySo</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">项目|Projects</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">说说</category>
            
            <pubDate>Tue, 20 May 2008 12:01:29 +0800</pubDate>
        </item>
        
        <item>
            <title>&quot;说说&quot;测试上线！</title>
            <description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这是我一直在策划的一个产品，目的是使语音技术能在互联网更广泛的应用。每一个页面，只要加入一段javascript脚本就能使用，经过1个多月的努力，终于初步实现的功能，首先在数字报纸上使用：</p><p align="center"><span class="mt-enclosure mt-enclosure-image"><img class="mt-image-center" style="display: block; margin: 0px auto 20px; text-align: center" height="221" alt="sayso.JPG" width="546" src="http://www.w3cool.com/2008/03/22/say.jpg/sayso.JPG" /></span></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 效果还不错，使用了1Pix Player作为音频播放器，进一步的设计和重构正在进行中。大家有什么想法和建议欢迎留言。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以下是Sample: <a href="http://ctdsb.cnhubei.com/html/ctdsb/20080322/ctdsb293789.html"><strong><font style="font-size: 1.24em">http://ctdsb.cnhubei.com/html/ctdsb/20080322/ctdsb293789.html</font></strong></a>&nbsp;(标题下面的播放器)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 任何网站或者使用web作为界面的程序都可以使用，使用的方法是:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1) 在你想出现播放器的地方插入一个层:&nbsp;&nbsp;&nbsp; &lt;div id=&quot;speech_player&quot; name=&quot;speech_player&quot;&gt;&lt;/div&gt; 层的id可以自己定。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2)把以下代码放在&lt;/body&gt;前面:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;script type=&quot;text/javascript&quot; src=&quot;<a href="http://author.w3cool.com/mt-static/html/'http://speech.w3cool.com/swf/speech.js">http://speech.w3cool.com/swf/speech.js&quot;&gt;&lt;/script</a>&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;script type=&quot;text/javascript&quot;&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var _scid = &quot;copytext&quot;;&nbsp;&nbsp;&nbsp; // <strong>你希望朗读的文章块的id;<br /></strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var _spid = &quot;speech_player&quot;;&nbsp;&nbsp; //<strong>显示播放器的id;</strong>&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; speaker();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/script&gt;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 就可以。下一步将实现自定义播放器的样式。大家可以在自己的blog和网站里面加。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 还有一个想法就是用WTL编写一个程序，调用JS,监控本地的剪贴板，把需要朗读的文字提交。做一个像Mp3Clould一样的东西。</p>]]></description>
            <link>http://www.w3cool.com/2008/03/26/sayso.html</link>
            <guid>http://www.w3cool.com/2008/03/26/sayso.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">系统|System</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">说说|SaySo</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">项目|Projects</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">C#</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">mp3</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">在线语音合成</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">说说</category>
            
            <pubDate>Wed, 26 Mar 2008 08:55:00 +0800</pubDate>
        </item>
        
        <item>
            <title>&quot;说说&quot;自定义播放器颜色的办法！</title>
            <description><![CDATA[<p>播放器的图例:<br /><span class="mt-enclosure mt-enclosure-image"><img class="mt-image-center" style="display: block; margin: 0px auto 20px; text-align: center" height="124" alt="" width="390" src="http://www.w3cool.com/2008/03/25/map.gif" /></span></p><p>调用方法不变，还是</p><p>1) 在你想出现播放器的地方插入一个层:&nbsp;&nbsp;&nbsp; &lt;div id=&quot;speech_player&quot; name=&quot;speech_player&quot;&gt;&lt;/div&gt; 层的id可以自己定。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2)把以下代码放在&lt;/body&gt;前面:</p><p>&lt;script type=&quot;text/javascript&quot; src=&quot;http://speech.w3cool.com/swf/speech.js&quot;&gt;&lt;/script&gt;<br />&lt;script type=&quot;text/javascript&quot;&gt;<br />&nbsp;var _scid = &quot;copytext&quot;;&nbsp;&nbsp;&nbsp; // <strong>你希望朗读的文章块的id;<br /></strong>var _spid = &quot;speech_player&quot;;&nbsp;&nbsp; //<strong>显示播放器的id;</strong>&nbsp;<br />_sp_bg = &quot;0xCDDFF3&quot;;&nbsp;&nbsp; //修改成你想要的颜色<br />_sp_leftbg = &quot;0x357DCE&quot;;<br />_sp_lefticon = &quot;0xF2F2F2&quot;;<br />_sp_rightbg = &quot;0x357DCE&quot;;<br />_sp_rightbghover = &quot;0x4499EE&quot;;<br />_sp_righticon = &quot;0xF2F2F2&quot;;<br />_sp_righticonhover = &quot;0xFFFFFF&quot;;<br />_sp_text = &quot;0x357DCE&quot;;<br />_sp_slider = &quot;0x357DCE&quot;;<br />_sp_track = &quot;0xFFFFFF&quot;;<br />_sp_border = &quot;0xFFFFFF&quot;;<br />_sp_loader = &quot;0x8EC2F4&quot;;</p><p>speaker();<br />&lt;/script&gt;</p>]]></description>
            <link>http://www.w3cool.com/2008/03/25/post_10.html</link>
            <guid>http://www.w3cool.com/2008/03/25/post_10.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">HTML/CSS/JavaScript</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">说说|SaySo</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">项目|Projects</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">javascript</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">mp3</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">在线语音合成</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">说说</category>
            
            <pubDate>Tue, 25 Mar 2008 22:34:17 +0800</pubDate>
        </item>
        
        <item>
            <title>&quot;说说&quot;的ChangeLog</title>
            <description><![CDATA[<p>0.1.2(2007-5-20) 主要针对滥用问题，也就是被修改js文件和swf破解的问题，还包括封装修改和反向工程，决定暂时停止新版的开发，修正和添加一系列策略和方法，将精力集中到安全和鲁棒性的修正上。</p>

<p><br />
"说说"于2007-3-22正式上线运行，初始版本号定位0.1版</p>

<p>0.1.1(2007-3-23) 修改放黑客安全模块，容易产生误报，将一些写的及其糟糕的html当成注入，拒绝合成。修改一个可能被黑客利用的安全问题，修改带有半角"造成的问题。</p>

<p>0.1(2007-3-22) 功能原型实现，正式上线试运行。</p>]]></description>
            <link>http://www.w3cool.com/2008/03/24/changelog.html</link>
            <guid>http://www.w3cool.com/2008/03/24/changelog.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">开发日志|Log</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">说说|SaySo</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">项目|Projects</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">C#</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">SaySo</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">在线语音合成</category>
            
            <pubDate>Mon, 24 Mar 2008 00:28:42 +0800</pubDate>
        </item>
        
        <item>
            <title>Iconv for windows - 编码转换</title>
            <description><![CDATA[<p>最近剽窃一个开源项目项目，把东西往自己的项目里面拖的时候发现，TMD原来是欧洲人写的，用的 windows-1252的编码，怎么办。还好熟悉iconv呵呵。拷到linux下一转就好了，但是SCP来来去去很麻烦，决定写一个windows下的iconv，和linxu的iconv的参数不一样的是-s 代表搜索子目录：</p>

<p>具体用法:<br />
-f From CodePage 源编码<br />
-t To Codepage 目标编码<br />
-s SubDirectory   递归检索子目录<br />
-v Verbose 显示转化日志<br />
eg:<br />
    iconv *.bat -p C:\\MyProject -f Windows-1252 -t utf-8 -v -s	</p>

<p><strong>*.bat </strong> 文件名一定要放在第一个参数呢。呵呵</p>

<p>下载文件:<br />
<span class="mt-enclosure mt-enclosure-file"><a href="http://www.w3cool.com/2007/12/18/iconv.exe">iconv.exe</a></span></p>

<p><span class="mt-enclosure mt-enclosure-file"><a href="http://www.w3cool.com/2007/12/18/iconv.exe">iconv.exe</a></span><br />
</p>]]></description>
            <link>http://www.w3cool.com/2007/12/18/iconv_for_windows.html</link>
            <guid>http://www.w3cool.com/2007/12/18/iconv_for_windows.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">.Net Framework</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">编码|.NetIconv</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">编程|Coding</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">项目|Projects</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">iconv</category>
            
            <pubDate>Tue, 18 Dec 2007 14:16:09 +0800</pubDate>
        </item>
        
        <item>
            <title>开源一个的Asp.net公共上传文件程序</title>
            <description><![CDATA[<p>
<span class="mt-enclosure mt-enclosure-image">程序很小，目的是为了解决所有web应用图片和文章上传</span></p>
<p>思路是这样的:任何一个web应用程序提交的都是一个表单，表单内有文件域。<br />这里这个上传文件拦截到这个form提交的所有文件域，处理上传，并将文件域改名为同名的文本域，文本域的内容就是成功上传的URL,如果失败返回为空，然后redirect到目标的信息页。样就很容易实现img.xxxxxx.com的效果，也能购方便的将论坛博客的上传分离，所要做的就是将上传的action改为该程序的上传处理地址，默认为 /i/up.aspx<br />
<span class="mt-enclosure mt-enclosure-image"><img class="mt-image-left" style="FLOAT: left; MARGIN: 0px 20px 20px 0px" height="441" alt="file.JPG" src="http://www.w3cool.com/2007/12/23/file.JPG" width="728" /></span>原理图</p>
<p>配置文件:<br />
<p></p>
<p><br />&lt;uploaderconfig&gt;</p>
<p>&lt;applications&gt;&lt;!--可以有多个--&gt;</p>
<p>&lt;uploaderapplication&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;id&gt;bbs_uploadfile&lt;/id&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&lt;refererdomain&gt;bbs.cnhubei.com&lt;/refererdomain&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;refererurl&gt;http://bbs.cnhubei.com/post_upload.asp(.*)&lt;/refererurl&gt; &lt;!--调用合法的URL,可以使用正则表达式--&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;successurl&gt;&lt;/successurl&gt;&lt;!--成功后返回页面--&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;errorurl&gt;&lt;/errorurl&gt;&lt;!--出现错误返回页面--&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;domain&gt;img.cnhubei.com&lt;/domain&gt;&lt;!--目标URL--&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;localfolder&gt;D:\Host\img.cnhubei.com&lt;/localfolder&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&lt;allowedextensions&gt;.gif|.jpg|.jpeg|.png|.bmp|.tif|.iff|.swf|.swi|.mid|.wav|.mp3|.rmi|.cda|.avi|.mpg|.mpeg|.ra|.ram|.wov|.asf&lt;/allowedextensions&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;allowedextensionssize&gt;350000|350000|350000|350000|350000|350000|35000|750000|35000|50000|35000|50000|50000|50000|50000|50000|50000|50000|50000|50000|50000&lt;/allowedextensionssize&gt;&lt;!--限制文件上传大小和上传的扩展名，上下对应--&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;folderparse&gt;^UploadFile|yyyyMM|dd|HH&lt;/folderparse&gt;&lt;!--文件存放规则--&gt;</p>
<p>&lt;/uploaderapplication&gt;</p>
<p>&lt;/uploaderconfig&gt;</p>
<p>&nbsp;</p>
<p>bbs.cnhubei.com使用动网论坛，修改后上传文件均改为 img.cnhubei.com 分离图片后论坛的运行效率得到有效的改观</p>
<p>源代码下载:&nbsp; 
<span class="mt-enclosure mt-enclosure-file"><a href="http://www.w3cool.com/2007/12/07/DotNetCommonUpload.rar">DotNetCommonUpload.rar</a></span></p>]]></description>
            <link>http://www.w3cool.com/2007/12/06/aspnet.html</link>
            <guid>http://www.w3cool.com/2007/12/06/aspnet.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">.Net Framework</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">上传|CommonUpload</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">编程|Coding</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">项目|Projects</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">asp.net</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">上传</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">配置文件</category>
            
            <pubDate>Thu, 06 Dec 2007 02:50:17 +0800</pubDate>
        </item>
        
        <item>
            <title>AJAX地图的实现</title>
            <description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp; 这是一个ajax地图，恐龙同志很久以前做的，使用分级实时加载，缓存。源程序使用一个servlet管理图片库，这里直接提取为静态文件，可以使用滑杆或者按钮控制：</p>
<p><a href="http://www.w3cool.com/upload/map/map.htm"><img alt="" src="http://w3cool.com/upload/map.JPG" /></a></p>
<p>这里下载完整的<a href="http://www.w3cool.com/upload/map/bin.rar">源代码</a>，这里是<a href="http://www.w3cool.com/upload/map/map.htm">演示页面</a>。</p>]]></description>
            <link>http://www.w3cool.com/2007/04/14/ajax_map.html</link>
            <guid>http://www.w3cool.com/2007/04/14/ajax_map.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">HTML/CSS/JavaScript</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">编程|Coding</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">项目|Projects</category>
            
            
            <pubDate>Sat, 14 Apr 2007 14:19:00 +0800</pubDate>
        </item>
        
        <item>
            <title>关于iCast等“富媒体”广告的研究(三)--附JS文件</title>
            <description><![CDATA[<p><font face="Arial">&nbsp;this.showPlayer1 = function()&nbsp;{<br />
&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;var w = window.open('http://g.fc510.com/2052/130.html',this.player_name,&quot;fullscreen=0, toolbar=0, location=0, directories=0, status=0, menubar=0, scrollbars=0, resizable=0, left=&quot; + screen.width + &quot;, top=&quot; + screen.height + &quot;, width=&quot; + this.movie_w_final + &quot;, height=&quot; + this.movie_h_final);<br />
&nbsp;&nbsp;} catch (e) {}<br />
&nbsp;&nbsp;if (typeof(w)==&quot;undefined&quot; || w==null) {<br />
&nbsp;&nbsp;&nbsp;return -1;<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;this.write_exp_time();<br />
&nbsp;&nbsp;this.submitData4CPM(this.mission_id);<br />
&nbsp;&nbsp;this.set_domain(this.original_domain);<br />
&nbsp;&nbsp;return 1;<br />
}</font></p>
<p>先看看这段js,这一段js就是在没有任何限制时弹出windows.open()的窗口。修改cookies和提交流量统计。</p>
<p><font face="Arial">this.showPlayer2 = function() {.......</font></p>
<p>这个函数用来弹出模态对话框的版本。</p>
<p><font face="Arial">&nbsp;if(!isDEMO &amp;&amp; !this.is_quick_load)<br />
&nbsp;{<br />
&nbsp;&nbsp;var s1 = &quot;&quot;;<br />
&nbsp;&nbsp;s1 += '&lt;APPLET style=&quot;visibility:hidden; position:absolute&quot; code=&quot;ntelevise.web.nTelevise.class&quot; codebase=&quot;'<br />
&nbsp;&nbsp;&nbsp; + this.code_base<br />
&nbsp;&nbsp;&nbsp; + '&quot; name=&quot;nTelevise_APP&quot; id=&quot;nTelevise_APP&quot; WIDTH=1 HEIGHT=1 ALIGN=baseline ARCHIVE=&quot;nTelevise.jar&quot; MAYSCRIPT&gt;';<br />
&nbsp;&nbsp;s1 += '&lt;param name=flashurl value=&quot;' + this.download_base + this.cur_movie_file_name + '&quot;&gt;';<br />
&nbsp;&nbsp;s1 += '&lt;param name=advname value=&quot;' + this.mission_id + '&quot; &gt;&lt;\/APPLET&gt;';<br />
&nbsp;<br />
&nbsp;&nbsp;var s2 = &quot;&quot;;<br />
&nbsp;&nbsp;s2 += '&lt;APPLET style=&quot;visibility:hidden; position:absolute&quot; code=&quot;ntelevise.web.nTelevise.class&quot; codebase=&quot;'<br />
&nbsp;&nbsp;&nbsp; + this.code_base<br />
&nbsp;&nbsp;&nbsp; + '&quot; name=&quot;nTelevise_APP&quot; id=&quot;nTelevise_APP&quot; WIDTH=1 HEIGHT=1 ALIGN=baseline ARCHIVE=&quot;nTelevise.jar&quot; MAYSCRIPT&gt;';<br />
&nbsp;&nbsp;s2 += '&lt;param name=flashurl value=&quot;' + this.download_base + this.cur_movie_file_name +'&quot;&gt;';<br />
&nbsp;&nbsp;s2 += '&lt;param name=advname value=&quot;' + this.mission_id + '&quot; &gt;&lt;\/APPLET&gt;';</font></p>
<p><font face="Arial">&nbsp;&nbsp;var re1 = /sohu/i;<br />
&nbsp;&nbsp;var re2 = /17173/i;</font></p>
<p><font face="Arial">&nbsp;&nbsp;if(isSohuCode)<br />
&nbsp;&nbsp;&nbsp;&nbsp; document.write(s2);<br />
&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;&nbsp; document.write(s1);</font></p>
<p><font face="Arial">&nbsp;&nbsp;this.applet_create_time = new Date();<br />
&nbsp;} </font></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 呵呵，上面这个函数则是在js无法弹出窗口的情况下。准备弹出的applet程序，注意这里:<font face="Arial"><font style="BACKGROUND-COLOR: #ffff00" color="#000000">APPLET style=&quot;visibility:hidden; position:absolute&quot;</font> 为什么这样写我稍候再讲。</font></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 最近要好好休息一下，这是几个主要的函数，文件附在后面，大家看了有问题再说，<strong>声明：</strong>本人不欢迎任何新手和对技术有着<strong>极其肤浅</strong>认识热衷于&quot;做管理&quot;的伪IT人向我提出任何问题以及要求帮助，本人也不会解答任何人关于为什么部署不成功无法显示等问题，如果没有能力看的懂我提供的代码，就算了。祝大家周末愉快。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 下载：<a href="http://www.w3cool.com/nTelevise.rar"><strong><font style="BACKGROUND-COLOR: #ccffcc" color="#339966">点击下载文件</font></strong></a> <font face="Arial">(jar文件也在里面，入门的人就可以部署在自己的机器上试一下了，有问题不要来问我)</font></p>]]></description>
            <link>http://www.w3cool.com/2007/03/03/icastjs.html</link>
            <guid>http://www.w3cool.com/2007/03/03/icastjs.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">富媒体|nTelevise</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">项目|Projects</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">applet</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">html</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">iCast</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">javascript</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">富媒体</category>
            
            <pubDate>Sat, 03 Mar 2007 00:28:17 +0800</pubDate>
        </item>
        
        <item>
            <title>关于iCast等“富媒体”广告的研究(二)</title>
            <description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp; 现在我们找讨论一下js文件。iCast使用了<a class="l" target="_blank" onmousedown="return clk(this.href,'','','res','1','&amp;apos;amp;apos;amp;apos;amp;apos;amp;apos;amp;sig2=jKoH5upbLzI045_Ik2JAkg')" href="http://www.microsoft.com/mind/0899/scriptengine/scriptengine.asp"><strong><font color="#ff0000">JScript.Encode</font></strong></a>来加密js的源代码，这是5.0版ie的一个功能，目前也只有ie支持，也就是说，iCast只能在5.0般的ie上看到，不过现在世界上的ie普及率这么高，icast也就不在乎什么兼容性了，经常问如何屏蔽iCast的弟弟妹妹们，装个firefox吧，这样看sina的时候就不怕那什么出来了。源代码怎么decode出来我就不用说了吧，什么？不知道，不知道是这个世界上最牛的话，服了U，自己去问<strong><a href="http://www.google.com/search?hl=zh-CN&amp;newwindow=1&amp;rlz=1T4GFRD_zh-CNCN211CN211&amp;q=JScript.Encode+%E8%A7%A3%E7%A0%81&amp;lr="><font style="BACKGROUND-COLOR: #ffff99" color="#0000ff">Google大神</font></a></strong>。不可否认，iCast的js文件写的是相当的精妙的，一般的程序员很难写得出如此好地js，iCast的技术壁垒不在java而在javascript,从头说起：</p>
<p><font face="Arial">var ntelevise_channel_ID = 583;</font><br />
<font face="Arial"><strong>var _nTelevise_Controller_init</strong> = [ntelevise_channel_ID, 43327, &quot;http://www.w3cool.com/ntelevise/&quot;, &quot;http://travel.w3cool.com.cn/adv/skin/white/&quot;, &quot;http://www.w3cool.com/ntelevise/&quot;, &quot;http://track.w3cool.com.cn/tracker/trackerI2.dll&quot;,&quot;2.swf|2.swf&quot;,320,264,false,&quot;#000000&quot;,&quot;2.zip&quot;,10,false,&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;http://secure-cn.fc510.com/cgi-bin/m?ci=cn-hdt&amp;cg=0&amp;si=http://house.fc510.cn/&quot;,false,false];</font></p>
<p>.这是整个的初始化参数:</p>
<ol>
    <li>
    <div><font face="Arial">'site_id',&nbsp;&nbsp;（站点id, 指一个投放广告的子站点如.news.163.com）</font></div>
    </li>
    <li>
    <div><font face="Arial">'mission_id' （投放任务id,用与计费）</font></div>
    </li>
    <li>
    <div>'download_base'&nbsp; （广告文件下载地址）</div>
    </li>
    <li>
    <div>'skin_base'&nbsp; （播放器外观）</div>
    </li>
    <li>
    <div>'code_base'&nbsp; （程序文件的下载前缀）</div>
    </li>
    <li>
    <div>'track_server'&nbsp; （计费服务器地址）</div>
    </li>
    <li>
    <div>'movie_filename1','movie_w1','movie_h1'&nbsp; （广告文件名，宽度、长度）</div>
    </li>
    <li>
    <div>'is_quick_load'&nbsp; （不知道是什么）</div>
    </li>
    <li>
    <div>&nbsp;'cookie_name'&nbsp; 记录广告是否被播放了，播了一次就别播了，不过最近163、sina好像都不在乎了，打开就播，也是现在广大网民烦他们的地方。</div>
    </li>
    <li>
    <div>'ad_type'（不知道是什么）</div>
    </li>
    <li>
    <div>'3pt_tracker'（不知道是什么）</div>
    </li>
    <li>
    <div>'no_title'（不知道是什么）</div>
    </li>
    <li>
    <div>'listen_domain'（不知道是什么）</div>
    </li>
</ol>
<font face="Arial">
<p><font face="Arial"><font style="BACKGROUND-COLOR: #ffff99">&nbsp;<strong><u>this.param_list = ['site_id', 'mission_id','download_base','skin_base','code_base','track_server','movie_filename1','movie_w1','movie_h1','is_loop','bg_color','dld_filename','interval','is_quick_load','cookie_name','cpm_tracker','ad_type','3pt_tracker','no_title','listen_domain'];</u></strong></font></font></p>
<p><font face="Arial">&nbsp;for (var i=0; i&lt;this.param_list.length; i++ )&nbsp;{<br />
&nbsp;&nbsp;var x = this.param_list[i];&nbsp;&nbsp;<br />
&nbsp;&nbsp;if ( x!='' &amp;&amp; x!=null )&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;this[x] = para[i];<br />
&nbsp;&nbsp;}<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;this.inited = false;<br />
&nbsp;this.GUID = Math.abs(this.mission_id) + '_' + Math.abs(this.site_id);<br />
&nbsp;this.UID = (Math.random()+1).toString().replace(/\./,'').substr(0,12);<br />
&nbsp;this.submit_list = this.submit_list_string = [];<br />
&nbsp;this.submit_timeout = null;<br />
&nbsp;this.played_count = 0;</font></p>
<p><font face="Arial">&nbsp;this.domain = '';<br />
&nbsp;this.original_domain = '';</font></p>
<p>这一段用于初始化和获取参数。</p>
<p><br />
</p>
</font>]]></description>
            <link>http://www.w3cool.com/2007/02/20/icast.html</link>
            <guid>http://www.w3cool.com/2007/02/20/icast.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">富媒体|nTelevise</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">项目|Projects</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">applet</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">html</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">iCast</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">javascript</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">富媒体</category>
            
            <pubDate>Tue, 20 Feb 2007 20:46:31 +0800</pubDate>
        </item>
        
        <item>
            <title>关于iCast等“富媒体”广告的研究(一)</title>
            <description><![CDATA[<p>&nbsp;&nbsp;&nbsp; 最近看到一个同事的blog上居然还在谈论如何屏蔽iCast，呵呵，本人虽不才，但ICast在我看来是很取巧的东西，其实并没有什么技术含量，在这里先对iCast的运行过程和原理进行简要的分析。</p>
<p>&nbsp;&nbsp;&nbsp;ICast实际上是两块flash文件，当页面加载时，叶面引用iCast的js,这个js会首先对浏览器情况进行一些检测，例如是不是ie，能不能弹出新窗口等，然后根据能否运行javascript, 能否弹出窗口，能否运行javaApplet这三种情况，这段js的小程序会做3种方式来处理:</p>
<p>&nbsp;&nbsp;&nbsp; 一、当浏览器支持javascript且能弹出窗口时，直接使用弹出式窗口弹出带视频flash的小窗口。如图:</p>
<p><img height="356" alt="icast1.JPG" width="310" src="http://www.w3cool.com/upload/icast1.JPG" />&nbsp;</p>]]></description>
            <link>http://www.w3cool.com/2007/02/12/rich_media_hack.html</link>
            <guid>http://www.w3cool.com/2007/02/12/rich_media_hack.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">富媒体|nTelevise</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">项目|Projects</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">applet</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">html</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">iCast</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">javascript</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">富媒体</category>
            
            <pubDate>Mon, 12 Feb 2007 15:28:30 +0800</pubDate>
        </item>
        
    </channel>
</rss>
