文档库 最新最全的文档下载
当前位置:文档库 › Meet Qt WebKit

Meet Qt WebKit

Qt WebKit可以做什么(三)——开发包含丰富web内容的本地应用

Qt WebKit可以做什么(三)——开发包含丰富web内容的本 地应用 Qt WebKit可以做什么(三)——开发包含丰富web内容的本地应用作者:Dawei Cheng 程大伟(Intel) (16 篇文章) 日期:六月9, 2010 在10:42 上午这一篇我们来看看如何在Qt WebKit 中使用web开发的工具去开发包含web内容的本地。注:本系列文章重在分享一下开发过程,至于webkit 如何去解释HTML的DOM tree 以及如何去rendering HTML 和JavaScript 可以参考https://www.wendangku.net/doc/2313900134.html,/。在分享开发过程之前,首先还是看一下这个web应用的架构。1. 开发环境:Based on QtWebKit browser engineDeveloped with HTML, CSS and JavaScriptUsed by Qt Creator for Windowsother IDEs, such as Visual Studio or Eclipse, as well.2. 新建项目:Start the Qt Creator IDE.Select File > New File or Project... > Projects > Qt4 Gui Application.Give the project a name and set its location.Check the QtWebKit module and click Next.click Finish.3. 修改代码:此时在creator左边edit栏目里会看到project的源代码。打开头文件widgetwindow.h,做如下修改:#ifndef WIDGETWINDOW_H#define WIDGETWINDOW_H#include <QtCore/QPointer>#include

Webkit内核调用细节过程分析

WinLauncher通过WebKitCOMAPI 调用WebKitClassFactory::CreateInstance, 获得WebView的COM实例,通过该实例获得IWebViewPrivate接口,然后将class WinLauncherWebHost : public IWebFrameLoadDelegate作为参数传给WebView。 然后将已经创建的窗口参数传给Webview,并进行Frame初始化IWebFrameLoadDelegate,通过registerWebViewWindowClass()注册消息处理函数WebView::WebViewWndProc,创建m_viewWindow,触发消息处理函数WebView::WebViewWndProc, 注意:之后初始化initWithFrame过程中进行了Settings::setDefaultMinDOMTimerInterval(0.004); WebFrame* webFrame = WebFrame::createInstance(); RefPtr coreFrame = webFrame->init(this, m_page, 0); WebKit.dll!WebCore::HTMLDocument::create(WebCore::Frame * frame=0x00e5eb90, const WebCore::KURL & url={...}) 行40 + 0x26 字节C++ WebKit.dll!WebCore::DOMImplementation::createDocument(const WTF::String & type={...}, WebCore::Frame * frame=0x00e5eb90, const WebCore::KURL & url={...}, bool inViewSourceMode=false) 行388 + 0x11 字节C++ WebKit.dll!WebCore::DocumentWriter::createDocument(const WebCore::KURL & url={...}) 行107 + 0x25 字节C++ WebKit.dll!WebCore::DocumentWriter::begin(const WebCore::KURL & urlReference={...}, bool dispatch=false, WebCore::Document * ownerDocument=0x00000000) 行119 + 0x10 字节C++ WebKit.dll!WebCore::FrameLoader::init() 行224 + 0x2c 字节C++ > WebKit.dll!WebCore::Frame::init() 行262 C++ WebKit.dll!WebView::initWithFrame(tagRECT frame={...}, wchar_t * frameName=0x00000000, wchar_t * groupName=0x00000000) 行2723 C++ Webview的初始化中需要缺省的url,其中包括frame实际上是FrameLoader的init,负责利用DocumentWriter调用DOMImplementation生成缺省的HTMLDocument. HTMLDocument继承Document,和CachedResourceClient,当遇到URL请求时,WinLauncher->loadURL先通过 WebKitCreateInstance(CLSID_WebMutableURLRequest, 0, IID_IWebMutableURLRequest, (void**)&request);获得请求(WebMutableURLRequest)request,然后WebFrame::loadRequest进行处理。WebMutableURLRequest中包含ResourceRequest变量。 WebCore内核本身并不实现http协议,它通过调用不同平台的http库,比如Qt的QnetWorkRequest,gtk的soup,或者curl等,来实现http协议的功能。这里将以curl为例,来理解webcore中的请求信息维护。 http协议的细节,如果希望深入了解的话,可以参考rfc2616,rfc2617。简单介绍下它的原理,http协议遵循的是一个请求à响应的机制。也就是说,一个url,对应一个请求à响应链。而在网页中,任何资源对应的都是一个url。如果客户端想从服务器端申请一个资源,需要发起一个请求,http的请求格式是纯文本格式,如下是一个简单的例子: https://www.wendangku.net/doc/2313900134.html,,中国领先的it技术社区 ……………………………. 这样,一个http请求就完成了,流程非常简单明了,所以在互联网上使用特别广泛。由于只是一个简单的请求à响应机制,所以http是没有状态这一个说法的(这同大部分协议基于状态机的机制是不同的),当然,为了在某些情况下,维护一个状态,http加入了cookie的管理机制,利用cookie来实现了一些状态的管理。另外,为了节约网络流量,提高性能,http协议中定义了cache的机制。 http的协议细节实现并不需要WebCore来关注,WebCore要关注的是,如何设置请求的相关头部信息,如何获取服务器返回回来的响应体部数据。 WebKit中同http打交道的类主要是ResourceRequest,ResourceResonse,ResourceHandle*,ResourceHandleManager等,这里先介绍同请求信息维护相关的ResourceRequest. ResourceRequest类的作用比较好理解,基本上就是维护http请求相关的信息(app或者内核都有可能设置这些信息),然后当WebCore发起http请求的时候,可以获取这些信息,调用curl的接口设置对应的http请求字段。在这些信息中,最常用到的是url。 ResourceRequest类继承于ResourceRequestBase类,绝大部分功能在ResourceRequestBase类中实现。 一)ResourceRequest构造:构造一个ResourceRequest对象只需要url参数就够了,这是比较简单的一个类,没有维护其它类的对象或者句柄。 ResourceRequest(const String& url);ResourceRequest(const KURL& url); 二)ResourceRequest对象的创建与维护 1.当用户输入网址,开始一个网页的请求的时候,会调用QwebFrame::load函数,在该函数中,会构造出ResourceRequest对象,并将这个对象作为一个参数,调用FrameLoader 类的load函数,DocumentLoader类中会维护这个ResourceRequest,在调用MainResourceLoader的load接口的时候,也会把ResourceRequest对象传递过去,在MainResourceLoader 中维护相应的信息。当MainResourceLoader类loadNow接口的时候,又会在创建的ResourceHandle的内部数据结构成员(ResourceHandleInternal)d中维护ResourceRequest对象。 2.

常用的几类搜索引擎技术

详细介绍常用的几类搜索引擎技术 因特网的迅猛发展、WEB信息的增加,用户要在信息海洋里查找信息,就像大海捞针一样,搜索引擎技术恰好解决了这一难题,它可以为用户提供信息检索服务。目前,搜索引擎技术正成为计算机工业界和学术界争相研究、开发的对象。 搜索引擎(Search Engine)是随着WEB信息的迅速增加,从1995年开始逐渐发展起来的技术。 据发表在《科学》杂志1999年7月的文章《WEB信息的可访问性》估计,全球目前的网页超过8亿,有效数据超过9TB,并且仍以每4个月翻一番的速度增长。例如,Google 目前拥有10亿个网址,30亿个网页,3.9 亿张图像,Google支持66种语言接口,16种文件格式,面对如此海量的数据和如此异构的信息,用户要在里面寻找信息,必然会“大海捞针”无功而返。 搜索引擎正是为了解决这个“迷航”问题而出现的技术。搜索引擎以一定的策略在互联网中搜集、发现信息,对信息进行理解、提取、组织和处理,并为用户提供检索服务,从而起到信息导航的目的。 目前,搜索引擎技术按信息标引的方式可以分为目录式搜索引擎、机器人搜索引擎和混合式搜索引擎;按查询方式可分为浏览式搜索引擎、关键词搜索引擎、全文搜索引擎、智能搜索引擎;按语种又分为单语种搜索引擎、多语种搜索引擎和跨语言搜索引擎等。 目录式搜索引擎 目录式搜索引擎(Directory Search Engine)是最早出现的基于WWW的搜索引擎,以雅虎为代表,我国的搜狐也属于目录式搜索引擎。 目录式搜索引擎由分类专家将网络信息按照主题分成若干个大类,每个大类再分为若干个小类,依次细分,形成了一个可浏览式等级主题索引式搜索引擎,一般的搜索引擎分类体系有五六层,有的甚至十几层。 目录式搜索引擎主要通过人工发现信息,依靠编目员的知识进行甄别和分类。由于目录式搜索引擎的信息分类和信息搜集有人的参与,因此其搜索的准确度是相当高的,但由于人工信息搜集速度较慢,不能及时地对网上信息进行实际监控,其查全率并不是很好,是一种网站级搜索引擎。 机器人搜索引擎 机器人搜索引擎通常有三大模块:信息采集、信息处理、信息查询。信息采集一般指爬行器或网络蜘蛛,是通过一个URL列表进行网页的自动分析与采集。起初的URL并不多,随着信息采集量的增加,也就是分析到网页有新的链接,就会把新的URL添加到URL列表,以便采集。

WebKit内存管理

1.TcMalloc TCMalloc:线程缓存的Malloc 作者:Sanjay Ghemawat, Paul Menage 原文 翻译:ShiningRay 动机 TCMalloc要比glibc 2.3的malloc(可以从一个叫作ptmalloc2的独立库获得)和其他我测试过的malloc 都快。ptmalloc在一台2.8GHz的P4机器上(对于小对象)执行一次malloc及free大约需要300纳秒。而TCMalloc的版本同样的操作大约只需要50纳秒。malloc版本的速度是至关重要的,因为如果malloc 不够快,应用程序的作者就很有可能在malloc之上写一个自己的自由列表。这就可能导致额外的代码复杂度,以及更多的内存占用――除非作者本身非常仔细地划分自由列表的大小并经常从自由列表中清除空闲的对象。 TCMalloc也减少了多线程程序中的锁争用情况。对于小对象,几乎已经达到了零争用。对于大对象,TCMalloc尝试使用粒度较好和有效的自旋锁。ptmalloc同样是通过使用每线程各自的场地来减少锁争用,但是ptmalloc2使用每线程场地有一个很大的问题。在ptmalloc2中,内存可能会从一个场地移动到另一个。这有可能导致大量空间被浪费。例如,在一个Google的应用中,第一阶段可能会为其URL标准化的数据结构分配大约300MB内存。当第一阶段结束后,第二阶段将从同样的地址空间开始。如果第二个阶段被安排到了一个与第一阶段什?用的场地不同的场地,这个阶段不会复用任何第一阶段留下的的内存,并会给地址空间添加另外一个300MB。类似的内存爆炸问题也可以在其他的应用中看到。 TCMalloc的另一个好处是小对象的空间最优表现形式。例如,分配N个8字节对象可能要使用大约8N * 1.01字节的空间。即,多用百分之一的空间。而ptmalloc2中每个对象都使用了一个四字节的头,(我认为)并将最终的尺寸规整为8字节的倍数,最后使用了16N字节。 使用 要使用TCMalloc,只要将tcmalloc通过“-ltcmalloc”链接器标志接入你的应用即可。 你也可以通过使用LD_PRELOAD在不是你自己编译的应用中使用tcmalloc: $ LD_PRELOAD="/usr/lib/libtcmalloc.so" LD_PRELOAD比较讨巧,我们也不十分推荐这种用法。 TCMalloc还包含了一个堆检查器以及一个堆测量器。 如果你更想链接不包含堆测量器和检查器的TCMalloc版本(比如可能为了减少静态二进制文件的大小),你可以接入libtcmalloc_minimal。

六大搜索引擎的比较

一、界面、广告以及速度搜索引擎在我们日常操作中的使用频率非常高,大家使用它的目的都非常明确,就是用它来搜寻需要的内容,而不会为搜索引擎的页面做过多的停留,因此搜索引擎的界面设计和速度就对我们的使用产生不小的影响,下面来看看这六款搜索引擎在界面和速度上的表现。谷歌、百度和微软的Live Search,这三大搜索引擎的界面大家都已经相当熟悉,它们有着共同的特点,就是简洁至极:网站LOGO、搜索框和按钮以及个别功能服务链接,除此以外,页面上就没有其他多余和花哨的东西了,给人的感觉非常清爽,界面一目了然,特别是Live Search在不失简洁的同时还通过一些小脚本和背景图片使得页面整体更加美观。三者使用起来都很方便,并且首页界面上没有任何第三方的广告。搜索结果页面,三者同样是采用简洁的风格,页面左侧排列着搜索结果,百度搜索结果页面右侧有不少广告,谷歌视关键词的不同也可能出现右侧广告。 Live Search的界面十分简洁且美观 百度搜索结果页面右侧的广告与上面三者相比,雅虎全能搜在界面上显得更为活泼、色彩更加多样,并且在首页内容上也更丰富。首页上除了常规的搜索所需组成部分外,雅虎全能搜还加入了天气预报、邮箱登录的显示区域。虽然这些占据了一点点页面,但是它们功能实用且不影响正常使用。雅虎全能搜的搜索主页 搜狗搜索的界面可谓结合了谷歌和Live Search:在布局上

与谷歌类似,而在细节上与Live Search有着异曲同工之妙;而搜索新军——网易有道的界面与谷歌、百度站在同一阵线,风格、版式都十分一致。在搜索结果页面中,搜狗搜索页面左侧有少量广告。总的来说,六款搜索引擎的界面设计都比较合理、美观、大方。雅虎全能搜的界面稍有不同,加入了天气预报和邮箱模块,而其他五款都尽量精简,其中谷歌、百度和有道趋于一致,采用最简的风格,而Live Search和搜狗在首页的一些细节上多加以了一些修饰。此外,值得一提的是一些搜索引擎对于Logo文化的重视,在传统的节日或者一些特殊的纪念日时都会将首页的Logo徽标换成与该日子相关的设计。其中在这方面要数谷歌和百度做得最为出色:无论是三八节、五一节这样的国际节日,或者情人节、万圣节这样的西方舶来物,还是春节、清明、端午等传统的中国农历节日,谷歌和百度都会精心设计相应的节日Logo;此外,谷歌在一些特殊的纪念日,如达芬奇诞辰、地球日之类的纪念日也会推出专门的徽标;而百度近期开始定期在首页推出一个搜索封面人物,以此反映对互联网时代风云人物的价值取向,十分有特色。雅虎和搜狗在节日Logo设计方面也有所表现,在节日时也可经常看到其专门的徽标;网易有道正式版新近推出不久,我们还无法对其在特殊Logo的设计上是否会有所表现作出评价。搜索引擎的特色Logo其实并不仅仅是一个单纯的设计,它还有更多的作用:它承载了一种信息,传达了搜索引擎提供商对于创新、

webkit之技术详解

Webkit Webkit Loader模块介绍 前面说过,webkit只是一个排版引擎,在Webkit排版/渲染一个网页之前,它肯定需要从网络上、或者本地文件系统中读到网页的http数据,对吧,对webkit来讲,他要的就是数据,不管你是从网络读的还是本地文件读的。 Loader就是这样一个模块,它承上启下,不仅负责为webkit引擎提供数据,还控制着webkit的绘制。另外,它同时还与提供数据的“来源”打交道。 先简单举例说明: 用户输入一个url,这时是Loader接收url请求,它把url传递给curl,设置curl的回调函数,当curl读到数据,loader把数据传递给Parser,开始生成DOM。 一.下面重点介绍一下与Loader相关的数据结构和模块。 Frame:可以看做是浏览器外壳调用Loader的总入口,它就像我们印象中的一个网页,它关注的是页面的显示(FrameView) 、页面数据的加载(FrameLoader) 、页面内的各种控制器(Editor, EventHandler, ScriptController, etc.) 等等,它包含以下模块(只列出重点):Document Page FrameView RenderView FrameLoader DOMWindow 下面分别介绍(PS: 必须要了解这些概念,不然后面的东东都无法理解): 1)Document:这个类的爷爷类是Node ,它是DOM 树各元素的基类;Document 有个子类是HTMLDocument ,它是整个文档DOM 树的根结点,这样就明白了:原来Document 就是描述具体文档的代码,看一下它的头文件,就更明白了,它的属性与方法就是围绕着各种各样的结点:Text ,Comment ,CDATASection ,Element…… 2)Page: 我的理解是,Page与Frame(严格说是FrameView)是一一对应的,Frame关注UI,Page 关注数据。现在的浏览器一般都提供同时打开多个窗口,每一个窗口对应的数据就是这个Page在管理了。 在page.cpp 文件里,还有个重要的全局指针变量:static HashSet* allPages; 这个变量包含了所有的page 实例。 3)FrameView: 可以理解为为一个网页的ViewPort, 它提供一个显示区域,同时包含的有Render根节点、layout排版相关接口、Scroll相关等。FrameView是Layout排版的总入口。 4)RenderView: 与FrameView差不多,只是分工不同,它管理与Render树相关的东东。 5) FrameLoader:重点,FrameLoader类将Documents加载到Frames。当点击一个链接时,FrameLoader创建一个新的处于“policy”状态的DocumentLoader对象,一旦webkit指示

AndroidWebView、Webkit内核深入讲解资料

一、WebKit 简介 WebKit是一个开源的浏览器网页排版引擎,包含 WebCor(排版引擎和JSCore引擎。WebCore和JSCore引擎来自于KDE项目的KHTM和KJS开源项目。An droid平台的Web引擎框架采用了 WebKit项目中的 WebCore和JSCore部分,上层由Java语言封装,并且作为 API提供给An droid应用开发者,而底层使用 WebKit核心库(WebCore和JSCore)进行网页排版。 二、WebKit目录结构 An droid WebKit Java WebKit

An droid平台的WebKit模块由Java层和WebKit库两个部分组成,Java层负责与An droid应用程序进行通信,而WebKit类库负责实际的网页排版处理。Java层和C层库之间通过 JNI和Bridge相互调用,如下图所示: 3.1.1主要类关系 WebKit模块的Java层一共由41个文件组成,其中主要的类关系如下图所示:

1. WebView HTTPS FTP 以及javascript 请求。WebView 作为应用程序的 UI 接口,为用户提供了一系列的网页浏览、用户交互接口,客户程序通过这些接口访问 1. WebViewDatabase WebViewDatabase 是WebKit 模块中针对SQLiteDatabase 对象的封装,用于存储和获取运行时浏览器保存的缓冲数据、历史访问数据、浏览器配置数据等。该对象是一个单 实例对象,通过 get In sta nee 方法获取 WebViewDatabase 的实例。WebViewDatabase 是 WebKit 模块中的内部对象,仅供 WebKit 框架内部使用。 1. WebViewCore WebViewCore 类是Java 层与C 层WebKit 核心库的交互类,客户程序调用 WebView 的网页浏览相关操作会转发给 BrowserFrame 对象。当 WebKit 核心库完成实际的数据分 析和处理后会回调 WebViweCore 中定义的一系列 JNI 接口,这些接口会通过 CallbackProxy 将相关事件通知相应的 UI 对象。 1. CallbackProxy CallbackProxy 是一个代理类,用于 UI 线程和 WebCore 线程交互。该类定义了一系列与用户相关的通知方法,当 WebCore 完成相应的数据处理,则会调用 CallbackProxy 类 中对应的方法,这些方法通过消息方式间接调用相应处理对象的处理方法。详细的处理流程在下文中会具体分析。 1. BrowserFrame BrowserFrame 类负责URL 资源的载入、访问历史的维护、数据缓存等操作,该类会通过 JNI 接口直接与 WebKit C 层库交互。 1. JWebCoreJavaBridge 该类为Java 层WebKit 代码提供与 C 层WebKit 核心部分的Timer 和Cookies 操作相关的方法。 1. DownloadManagerCore 下载管理核心类,该类负责管理网络资源下载,所有的 Web 下载操作均有该类同一管理。该类实例运行在 WebKit 线程当中,与 UI 线程的交互是通过调用 CallbackProxy 对 象中相应的方法完成。 1. WebSett ings 该对象描述了 WEB 浏览器访问相关的用户配置信息。 1. DownloadListener 下载侦听接口,如果客户代码实现该接口,则在下载开始、失败、挂起、完成等情况下, DownloadManagerCore 对象会调用客户代码中实现的 DwonloadListener 方法。 1. WebBackForwardList WebBackForwarList 对象维护着用户访问历史记录,该类为客户程序提供操作访问浏览器历史数据的相关方法。 占rrw ■th F F IftWWtewCwe iAftfeW gr^JawaBrniw ■MNMif raim W?tiS?

比较、测试“百度”、“谷歌”等常用搜索引擎的语法异同

谷歌搜索引擎的功能语法详细介绍 一,GOOGLE简介 https://www.wendangku.net/doc/2313900134.html,)是一个搜索引擎,由两个斯坦福大学博士生Larry Page 与Sergey Brin于1998年9月发明,Google Inc. 于1999年创立。2000年7 月份,Google替代Inktomi成为Yahoo公司的搜索引擎,同年9月份,Google 成为中国网易公司的搜索引擎。98年至今,GOOGLE已经获得30多项业界大奖。 二,GOOGLE特色 1、GOOGLE支持多达132种语言,包括简体中文和繁体中文; 2、GOOGLE网站只提供搜索引擎功能,没有花里胡哨的累赘; 3、GOOGLE速度极快,据说有8000多台服务器,200多条T3级宽带; 4、GOOGLE的专利网页级别技术PageRank能够提供高命中率的搜索结果; 5、GOOGLE的搜索结果摘录查询网页的部分具体内容,而不仅仅是网站简介; 6、GOOGLE智能化的“手气不错”功能,提供可能最符合要求的网站; 7、GOOGLE的“网页快照”功能,能从GOOGLE服务器里直接取出缓存的网页。 三,基本搜索: 1、+,-,OR A.GOOGLE无需用明文的“+”来表示逻辑“与”操作,只要空格就可以了。 示例:搜索所有包含关键词“seo”和“宁波”的中文网页 搜索:“seo 宁波” 结果:已搜索有关seo和宁波的中文(简体)网页。共约有2,010,000项查询结果,这是第1-10项。搜索用时0.13秒。 注意:文章中搜索语法外面的引号仅起引用作用,不能带入搜索栏内。 B.GOOGLE用减号“-”表示逻辑“非”操作。 示例:搜索所有包含“seo”而不含“宁波”的中文网页 搜索:“seo -宁波”

webkit JS引擎深入分析

WebKit 的JavaScript 引擎简介 ————基于 基于WebKit-r29753腾讯研究院无线中心/无线浏览器组周晓波(xiaobozhou ) 1.概述 1.1.浏览器 浏览器是用于展示远程信息并提供有限修改能力的客户端程序。 事实上,世界上第一个浏览器是一个远程格式化编辑器,其修改权限是很大的。而目前浏览提提供的修改能力很弱,对修改的权限控制、对修改内容的处理等更多的集中在服务器端。因此,可以说现在的浏览器主要任务是更高效的、更标准的处理和显示远程信息。浏览器的这些主要工作都是由内核完成的。 浏览器对远程信息的显示并不是随意的,因为远程信息(通常是网页)是一种格式化的信息,即这些信息不仅包括内容,而且包括结构和显示样式。浏览器需要根据信息的格式化指令(如html 的标签)来对信息的结构进行理解,理解出来的每一部分称为一个元素。所谓结构化就是信息各部分之间的层级关系,类似书本的章节。然后,浏览器根据样式指令(如style 标签或属性等)来决定(或建议,因为不一定每个指定的样式都能满足)某一元素的样式。再后,浏览器根据当前视窗的大小,以及元素之间的关系,以各个元素的样式(如大小)为约束条件,来输出每个元素的绝对位置等信息。最后,调用平台相关的接口来把每个元素在屏幕上画出来。如果用户利用JavaScript 改变了某个部分,浏览器就重复最后三步操作。 上述过程中,第一步是解析标记语言,其结果是形成DOM 树,第二步称为渲染(Render),其结果是产生Render 树,第三步称为布局(Layout ),其结果是决定远程信息的最终样子。这三步是浏览器内核的核心功能。在每次加载一个页面时都会执行;而JavaScript 扮演的角色就是在不再次加载的情况下推动上述三步的执行,这是通过对DOM 树的修改来实现的。图1展示了一个页面解析的基本过程。这里涉及到几个中间实体:页面源文件、 DOM 图1:网页解析基本过程。

常用的17大搜索引擎

常用的十七大学术搜索引擎 1、https://www.wendangku.net/doc/2313900134.html,/ Google学术搜索滤掉了普通搜索结果中大量的垃圾信息,排列出文章的不同版本以及被其它文章的引用次数。略显不足的是,它搜索出来的结果没有按照权威度(譬如影响因子、引用次数)依次排列,在中国搜索出来的,前几页可能大部分为中文的一些期刊的文章。 2、https://www.wendangku.net/doc/2313900134.html, Scirus是目前互联网上最全面、综合性最强的科技文献搜索引擎之一,由Elsevier科学出版社开发,用于搜索期刊和专利,效果很不错!Scirus覆盖的学科范围包括:农业与生物学,天文学,生物科学,化学与化工,计算机科学,地球与行星科学,经济、金融与管理科学,工程、能源与技术,环境科学,语言学,法学,生命科学,材料科学,数学,医学,神经系统科学,药理学,物理学,心理学,社会与行为科学,社会学等。 3、https://www.wendangku.net/doc/2313900134.html,/ BASE是德国比勒费尔德(Bielefeld)大学图书馆开发的一个多学科的学术搜索引擎,提供对全球异构学术资源的集成检索服务。它整合了德国比勒费尔德大学图书馆的图书馆目录和大约160 个开放资源(超过200 万个文档)的数据。 4、http://www.vascoda.de/ Vascoda是一个交叉学科门户网站的原型,它注重特定主题的聚合,集成了图书馆的收藏、文献数据库和附加的学术内容。 5、https://www.wendangku.net/doc/2313900134.html,/ 与google比较了一下发现,能搜索到一些google搜索不到的好东东。它界面简洁,功能强大,速度快,YAHOO、网易都采用了它的搜索技术。 6、https://www.wendangku.net/doc/2313900134.html, Google在同一水平的搜索引擎。是https://www.wendangku.net/doc/2313900134.html,推出的,Web result部分是基于Google 的,所以保证和Google在同一水平,另外增加了Amazon的在书本内搜索的功能和个性化功能:主要是可以记录你的搜索历史。现在还是Beta,不过试用后感觉很好,向大家推荐一试,不过缺憾是现在书本内搜索没有中文内容。 7、https://www.wendangku.net/doc/2313900134.html, 严格意义上讲不是搜索引擎,是连接搜索引擎和网络用户的信息立交桥。新一代的搜索引擎应运而生,Ixquick meta-search正是目前最具光芒的新星。但是对于大多数国内用户来说,Ixquick还很陌生。Ixquick众多独特的功能我不一一介绍了,只介绍我们最关心的,搜索数据库密码。 使用方法:先进入Ixquick,以“Proquest”数据库为例。填入Proquest Username Password History Online后点击search,看看出来的结果,第一页中第6个,proquest的username和password 赫然在目,别急,再看第4个结果“HB Thompson Subscription Online Databases”,即https://www.wendangku.net/doc/2313900134.html,/onlinedbs/HBTDatabases/,进入后发现这是一个密码页,选择Magazines & Journals栏,就有EBSCO、Electric Library Elementary、Electric Library Elementary、ProQuest Platinum (in school)、ProQuest Platinum (remote)等众多数据库的密码,

windows上webkit的编译过程

Webkit 开发环境的安装 Developer Tools 安装VS相关补丁和工具 1.使用VS2005,以下所有安装指导都是基于VS2005,其他版本的VS不能保证可用性; 使用WindowsXP或者Vista,推荐XP,其他系统不保证可行 2.其次,装上Microsoft Visual Studio 2005 Team Suite Service Pack 1. 3. 最后装上四个补丁,vs2005就算准备妥当了: KB918559 KB935225 KB943969 KB947315 4. 搞定vs2005后,您得装个Cygwin,Webkit官网提供了一个cygwin-downloader.zip供下载,解压以后,文件夹里面有一个cygwin-downloader.exe,点击运行它会自动下载119个软件包;下载完成后,点击Cygwin的安装程序选择从本地文件夹安装,把刚才下载的119个软件都装上即可 5. 您还得去https://www.wendangku.net/doc/2313900134.html,/quicktime/download/下载一个quicktime sdk,需要注册才能下载,耐心注册就是,下载安装没什么说的。 6. 安装DirectX SDK Get The Code 1. 这一步甚为关键,您要是比着官网的导引,到这一步就该下载 https://www.wendangku.net/doc/2313900134.html,/files/WebKit-SVN-source.tar.bz2了,这玩意有两三百M大,Webkit官网到咱大陆局域网的速度又极慢,因此这一失足通常能浪费半天到一天的时间,您要是日理万机类型的人物,恐怕Webkit之旅就到此为止了。实际上完全没有必要下载svn的压缩包(在这里不得不赞同linus,svn真是shit,大家有空还是多琢磨琢磨Git吧,WebKit最近已经开始使用Git 了),下载一个导出的纯代码的tarball就行了,这个网页https://www.wendangku.net/doc/2313900134.html,/第三个下载项。一般只有10M大小,刷刷的就下完了。 2. 在Windows下编译需要下载一个补丁包,WebKit Support Libraries。这个压缩包包含了Apple 的几个非开源库的Windows port。下完后放在Webkit源码解压后的根目录(注意这个补丁包不要解压,build的时候脚本会自己搞定的)。 3. 上面两个dd下载完之后,打开Cygwin,进入WebKit/WebKitTools/Scripts文件夹运行一下 ./update-webkit是个更新脚本,不运行这个编译的时候是肯定要出错的。

常 用 医 学 搜 索 引 擎 介 绍

常用医学搜索引擎介绍 国内 1 MEDCD 搜医网 https://www.wendangku.net/doc/2313900134.html,/search/search/ 搜医网是目前国内最大的医学健康类搜索引擎,其网页搜索几乎可以囊括所有的中文医学站点,另外在其“搜索大全”中可以方便的查找疾病、化验检查、国家基本药物、等等健康相关知识。对于医学专业人员还可以在这里方便的搜索“美国国家医学图书馆数据库”MEDSCAPE、MedExplorer、HEALTHWEB等等专业知识。 国外 1.Medical Matrix 医源 https://www.wendangku.net/doc/2313900134.html,/Index.asp Medical Matrix 是一种由概念驱动的免费全文智能检索工具,包括4600多个医学网址,1994年由堪萨斯大学创建,现由美国Medical Matrix LLC主持,是目前最重要的医学专业搜索引擎。它是一个可免费进入的Internet临床医学数据

库,提供了关键词搜索和分类目录搜索,最适合临床医师使用。分类目录搜索是它的主要特色,按各种医学信息分为专业(Specialties)、疾病种类(Diseases)、临床实践(Clinical Practice)、文献(Literature)、教育(Education)、健康和职业(Healthcare and Professionals)、医学计算机和Internet技术(Medical Computing,Internet and Technology)、市场(Marketplace)等8大类。每一大类下再根据内容的性质分为新闻(News)、全文和多媒体(Full Text/Multi-Media)、摘要(Abstracts)、参考书(Textbooks)、主要网址(Major Sites/Home Pages)、操作手册(Procedures)、实用指南(Practice Guidelines/FAQS)、病例(Cases)、影像学和病理切片(Images、Path/Clinical)、患者教育(Patient Education)、教育资源(Educational Materials)等亚类。 2.Medscape(医景,) https://www.wendangku.net/doc/2313900134.html,/ 美国公司Medscape公司1994年研制,1995年6月投入使用,由功能强大的通用搜索引擎AltaVista支持,可检索图像、声频、视频资料,至今共收藏了近20个临床学科25000多篇全文文献,拥有会员50多万人,临床医生12万人。是Web 上最大的免费提供临床医学全文文献和继续医学教育资源(CME)的网点,可选择Fulltext、Medline、DrugInfo、

常用的搜索引擎

1、https://www.wendangku.net/doc/2313900134.html,/ 这个不必多讲。 2、https://www.wendangku.net/doc/2313900134.html,/ 后起之秀,科研人员的良好助手,上此网站的90%是从事科研的学生与老师。其词典搜索集成了目前市面上最好的在线英汉写作及科研词典,用此搜索引擎写作英文论文相当方便;其文献搜索集成了目前最优秀的数据库。 3、https://www.wendangku.net/doc/2313900134.html, Scirus是目前互联网上最全面、综合性最强的科技文献搜索引擎之一,由Elsevier科学出版社开发,用于搜索期刊和专利,效果很不错!Scirus覆盖的学科范围包括:农业与生物学,天文学,生物科学,化学与化工,计算器科学,地球与行星科学,经济、金融与管理科学,工程、能源与技术,环境科学,语言学,法学,生命科学,材料科学,数学,医学,神经系统科学,药理学,物理学,心理学,社会与行为科学,社会学等。 4、https://www.wendangku.net/doc/2313900134.html,/ BASE是德国比勒弗尔德(Bielefeld)大学图书馆开发的一个多学科的学术搜索引擎,提供对全球异构学术资源的集成检索服务。它整合了德国比勒弗尔德大学图书馆的图书馆目录和大约160 个开放资源(超过200 万个文文件)的数据。 5、http://www.vascoda.de/ Vascoda是一个交叉学科门户网站的原型,它注重特定主题的聚合,集成了图书馆的收藏、文献数据库和附加的学术内容。 6、https://www.wendangku.net/doc/2313900134.html,/ 与google比较了一下发现,能搜索到一些google搜索不到的好东东。它界面简洁,功能强大,速度快,Y AHOO、网易都采用了它的搜索技术。 7、https://www.wendangku.net/doc/2313900134.html, Google在同一水平的搜索引擎。是https://www.wendangku.net/doc/2313900134.html,推出的,Web result部分是基于Googl e的,所以保证和Google在同一水平,另外增加了Amazon的在书本内搜索的功能和个性化功能:主要是可以记录你的搜索历史。 8、https://www.wendangku.net/doc/2313900134.html, 严格意义上讲不是搜索引擎,是连接搜索引擎和网络用户的信息立交桥。新一代的搜索引擎应运而生,Ixquick meta-search正是目前最具光芒的新星。但是对于大多数国内用户来说,Ixquick还很陌生。Ixquick众多独特的功能我不一一介绍了,只介绍我们最关心的,搜索数据库密码。使用方法:先进入Ixquick,以“Proquest”数据库为例。填入Proquest U sername Password History Online后点击search,看看出来的结果,第一页中第6个,proqu est的username和password赫然在目,别急,再看第4个结果“HB Thompson Subscription Online Databases”,即https://www.wendangku.net/doc/2313900134.html,/onlinedbs/HBTDatabases/,进入后

QwebKit使用心得.

QwebKit使用心得. QwebKit使用心得 最近这段时间,正在用QWebkit开发一个Application store 的项目。因为需要用到第三方的数据,但后台无法直接去获取,所以需要做一个底层的模块,去获取第三方数据,然后给网页调用,因此我们选取了以WebKit为引擎的QWebkit 来开发我们的项目。 在开发中,获得了一些心得体会,写下来供大家参考。为了方便说明,我特意做了一个例子。 (图1) 此例子中,左边显示网页,右边是控件部分。 用户在网页的Name和Password输入框输入内容后,点击"Submit"按钮,则右边的Name和Password框则会出现网页中的内容,这就是网页调用Qt模块。 而用户在右边输入分别输入Name和Password,点击"Call JS"后,输入的信息也会显示在左边的Name和Password 栏。这就是Qt调用网页。 由此我们可以看出QWebKit,即可以Qt调用网页,也可以

网页调用Qt。这样我们就可以做用Qt做一些网页做不了的事情。 接下来,将阐述如何实现Qt和网页互相调用。 首先,在“图1”所示的主界面中生成WebKit控件,可以自己new或者在Design中拖入。在本例中,采取的是拖入此控件。此控件对应的类是QWebView。它可以Load和显示页面。通过此控件我们来调用网页的方法和接受网页的调用。本主界面的类是 #include <QtGui/QDialog> #include "ui_qwebkittest.h" #include "mywebkit.h"class QWebKitTest : public QDialog { Q_OBJECTpublic: QWebKitTest(QWidget *parent = 0, Qt::WFlags flags = 0); ~QWebKitTest(); void setValueFromWeb(const QString &strName,const QString &strPwd);protected slots: void onBtnCallJSClicked(); void populateJavaScriptWindowObject();private:

相关文档