最近搞了一个美女图片网站,网站数据抓自互联网。 主要打算做人人这个平台,所以取了个名字叫“人人美图” 。 网站的目标用户是广大宅男们。 现在的服务器在美国,可能图片访问速度有点慢,以后会逐步转移到yupoo上来。
来张图养养眼。
欢迎大家提点意见。
完。
最近搞了一个美女图片网站,网站数据抓自互联网。 主要打算做人人这个平台,所以取了个名字叫“人人美图” 。 网站的目标用户是广大宅男们。 现在的服务器在美国,可能图片访问速度有点慢,以后会逐步转移到yupoo上来。
来张图养养眼。
欢迎大家提点意见。
完。
请使用非IE浏览器访问!
优米网内部JS教程。
上期讲了JS里面变量、函数、变量作用域等。 这次讲一下浏览器环境下的一些实用的知识
可以在HTML源代码中用DOM元素的属性直接声明。例如:
<input type="text" size="30" id="email" onchange="checkEmail()" >
也可以在JS里绑定,例如:
document.getElementById('email').onchange=function() { checkEmail(); }
有什么区别呢?
先说一下JS里可以用new Function("inner code")
来创建一个函数。即可以把字符串形式的源代码转换成可执行的code。 写到HTML源代码上的事件代码可以理解成事件属性的值被new Function()
了。 所以onchange="return true;"
就相当于 dom.onchange=function(){ return true; }
。
值得注意的是dom.onxxxx=function
的绑定方式是粗暴式的,后绑定的函数会覆盖掉前面绑定的函数。如果需要同一个事件绑定多个函数, 可以使用dom.addEventListener
(w3c)和dom.attachEvent
(IE)。(又是讨厌的IE与众不同!)
要实现搜索doc文档,第一步就要先从二进制doc文件中提取出文本内容。现在一般的做法是用微软的com组件,或者用第三方的软件来提取,都不太方便。 所以我想用php直接提取其中的文本。
而微软早年搞的doc二进制标准实在是太复杂了,即使微软在2008年公布了doc文件的二进制编码格式,但是要想从中按照正规的方法提取出文本内容仍然是一件非常困难的事情。我的感觉就像是小时候玩RPG游戏寻宝一样,必须一步步按照微软的寻宝图路线走,任何一步错误都拿不到宝藏。。。
研究正规途径提取文本并取得一定成功的是Ethan同学,他通过相关文献资料,找到一条可以用PHP分析doc二进制文件并从中提取出文本内容的方法。但是只能提取出一少部分doc文档的内容(可能是实验做的太少)。我后来在他的基础上又研究了几天,发现要想走正规路线拿到文本非常困难,因为doc文档编码中文和英文不一样,还分为1Table和0Table等。
昨天突发奇想,能不能用暴力破解的方式拿到文本呢? 经过一天艰苦奋战,终于取得了可喜的成绩。 这里是DEMO。
暴力法的大概思路是: 每512个字节分为一个sector,每个sector为一个基本单位。然后发现,如果某个sector是用来存储文本的,那么此sector里面就只有文本内容,没有其他数据。 那怎样判断是否为文本sector呢? 我引入了一个常用汉字和英文字母以及标点符号组成的数组。判断此sector里面常用文本占sector总长度(512字节)的比例(根据大量测试,比例在0.3以上,基本上可以确定是文本sector),就可以确定整个文件的文本内容。 另外,doc文件里,汉字是用2个字节来存储的,而且用的little endian方式(就是字节顺序是反的)存储的,但是英文是用1个字节。 后来又想了一些办法来判断是中文还是英文。 最终经过大量的测试,绝大部分文件可以正常提取绝大部分文本(偶尔可能最有一个sector文字太少无法识别)。 对于索引doc文件这个简单的需求来说,已经足够了。
完。
昨天给公司同事做了一下JS的进阶技术交流,由于是进阶,所以基础的东西会少点,但是也不是太深奥。有兴趣的同学可以点这里去看看。 请使用Chrome或Safari浏览器,以获得流畅的体验。 因为用了一些HTML5的标签。
完。