您的位置:首页 > 其它

迅雷、Flashget 和 QQ 旋风 在firefox中的链接解析

2011-10-25 23:59 288 查看
主要是firefox/chrome中的一个组件Ease Link,其开发者在google host中做了原理分析,从中可以了解firefox/chrome中点击下载链接时的onClick 事件处理过程

寻找需要修复的链接: 通过XPath (doc.evaluate())

去除关联事件,修复链接:去除相关连的事件,并且将 thunderhref 属性或 qhref 属性的值复制到
href 属性。处理的对象是 HTMLAnchorElement。
解码链接为 HTTP 或 FTP 协议:将 Base64 编码后的私有协议解码为浏览器可以识别的 HTTP 和 FTP 协议链接

链接:

http://code.google.com/p/easelink/wiki/Troubles

末尾还有链接,提到可以扩展协议等

用户指南:http://code.google.com/p/easelink/wiki/User_Guide

在该开发者的google host中还找到其他的项目:

http://code.google.com/u/ashi009/

看到一个感兴趣的ctemplate,google了下,看来也是实用的工具,抽时间要研究下,其简介:

CTemplate 是一个简单实用、功能强大的文字模板(template language),适用于使用C++语言开发的应用程序。 其解决的主要问题是将文字表达和逻辑分离开来:文字模板解决如何用合适的文字和形式来表达的问题,而逻辑问题则由文字模板的调用者在源代码中完成。

/article/7781218.html

又有简介:

ctemplate (Google-ctemplate)的设计哲学是轻量级,快速,且逻辑和界面分离,因此和ClearSilver和Teng是有一些差异的。比如Ctemplate就没有模板函数,没有条件判断和循环语句(当然,它可以通过变通的方式来实现)。

ctemplate大体上分为两个部分,一部分是模板,另一部分是数据字典。模板定义了界面展现的形式(V),数据字典就是填充模板的数据(M),你自己写业务逻辑去控制界面展现(C),典型的MVC模型。

ctemplate模板中有四中标记,对应的数据字典也有不同的处理方式:

变量,{{变量名}},用两个大括号包含的就是变量名,在c++代码中,可以对变量赋值,任何类型的值都可以(如字符,整数,日期等)。
片断,{{#片断名}},片断在数据字典中表现为一个子字典,字典是可以分级的,根字典下面有多级子字典。片断可以处理条件判断和循环。
包含,{{>模板名}}包含指的是一个模板可以包含其他模板,对应的也是一个字字典。
注释,{{!注释名}},包含注释。

http://www.oschina.net/p/ctemplate

当然,最重要的其首页:http://code.google.com/p/google-ctemplate/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: