12 2012 档案

摘要:.NET的基础类Object有一个Equals方法,这个方法用来比较两个对象是否相等,默认的实现是比较两个引用是否相同,相当于==操作符。对于不同的子类可能会有不同的实现,本篇就来研究一下delegate的equals方法。首先是msdn上给出的说明按照以下方式比较这些方法和目标是否相等:如果所比较的两种方法都是静态的且对同一类为同一方法,则这些方法被视为相等,这些目标也被视为相等如果所比较的两种方法都是实例方法且对同一个对象为同一种方法,则这些方法被视为相等,这些目标也被视为相等。否则,这些方法被视为不相等,这些目标也被视为不相等。 仅当两个调用列表具有相同顺序,并且两个列表的对应元素表示相 阅读全文
posted @ 2012-12-28 18:56 有来 有去 阅读(2230) 评论(0) 推荐(0) 编辑
摘要:做爬虫的时候最头疼的就是遇到一些动态加载的页面或者是一些动态生成的链接。比如我们的博客园就是个例子:凤凰网的评论链接也是一样:今天我们就用Webkit来解决这个问题。预备知识可以看一下我前面几篇文章,准备工作参照利用InjectedBundle定制自己的Webkit(二)中的客户端程序。一切就绪之后我们开始!首先介绍一些重要的函数和回调在创建一个Page之后我们可以设置一些回调函数,其中有一个是:WKPageLoaderClient::didFinishDocumentLoadForFrame原型是:typedef void (*WKPageDidFinishLoadForFrameCallb 阅读全文
posted @ 2012-12-12 14:56 有来 有去 阅读(18658) 评论(6) 推荐(5) 编辑
摘要:由于时间仓促,之前贴的代码中有些许错误,请大家见谅,现已更正,并附上运行结果!----------------我是开始分割线-----------------在上一篇利用InjectedBundle定制自己的Webkit(一)中,我们完成了一个自己的InjectedBundle,接下来我们就要在Webkit中加载我们自己的InjectedBundle。为了测试方便先给出一个示例的InjectedBundle代码,项目名称MyInjectedBundle。#include<WebKit2/WKBundleInitialize.h>#include<WebKit2/WKBundl 阅读全文
posted @ 2012-12-03 18:29 有来 有去 阅读(5570) 评论(2) 推荐(3) 编辑
摘要:Webkit是一个多进程构架,内核WebCore和JS引擎JavaScriptCore都处在WebProcess进程中,而用户界面相关的处理则处在UIProcess进程中。(详见Webkit客户端进程解析)Webkit提供了大量的API供客户程序调用,但是这些API都是在客户进程中调用的,我们无法访问到内核部分的数据结构并处理,如DOM树、Render树、加载的Web资源等等。为了解决这一问题,Webkit提供了一个运行在内核进程的InjectedBundle来提供对内核数据的操作。InjectedBundle类似于一个插件,单独编译成一个动态库,在内核进程运行到特定情况时会调用Injecte 阅读全文
posted @ 2012-12-02 20:01 有来 有去 阅读(4608) 评论(2) 推荐(2) 编辑

Copyright ©2013 Jiajun. All Rights Reserved.
点击右上角即可分享
微信分享提示