PhantomJS:基于WebKit、开源的服务器端JavaScript API

PhantomJS是一个基于WebKit的服务器端JavaScript API,它基于 BSD开源协议发布。PhantomJS无需浏览器的支持即可实现对Web的支持,且原生支持各种Web标准,如DOM 处理、JavaScript、CSS选择器、JSON、Canvas和可缩放矢量图形SVG。PhantomJS主要是通过JavaScript和CoffeeScript控制WebKit的CSS选择器、可缩放矢量图形SVG和HTTP网络等各个模块。PhantomJS主要支持Windows、Mac OS、Linux三个平台,并且提供了对应的二进制安装包,读者可在下载页面选择对应的版本下载解压即可使用。GitHub上还提供了GitHub、Google Code、BitBucket等各种方式的源码下载地址

github:

https://github.com/ariya/phantomjs

phantom:fænt?m

幻影; 幽灵; 错觉; 恐惧的事物;

幽灵似的; 幻影的,虚幻的; 虚构的;

PhantomJS 的使用场景如下:

PhantomJS 已形成了一个功能非常强大的生态圈内容,相关项目如下:

此外,生态圈还包括基于PhantomJS实现了众多截屏工具,如capturejspageresphantomjs-screenshotsmanetscreenshot-app等;以及Node.js、Django、PHP、Sinatra等语言的截图API和ConfessGhostStoryGrover等众多工具。

PhantomJS当前最新版本是1.9,称为樱花(Sakura)。有趣的是PhantomJS的每个发布版本都以花来命名,PhantomJS 1.8叫作蓝色冬日玫瑰(Blue Winter Rose),PhantomJS 1.7叫作鲜艳的植物(Blazing Star),PhantomJS 1.6 叫作薰衣草(Lavender)等

接下来的2.0版本是一个非常重要的版本,该版本的开发工作已经完成,目前开发团队正在准备各个平台上的二进制版本以及相关文档的完善,相信很快就会有发布新闻。更多关于PhantomJS的信息,请登录其官网或托管在GitHub上的站点查看,有兴趣的读者还可以阅读并尝试下官方提供网络监控、页面自动化操作等相关实例

参考:http://www.infoq.com/cn/news/2015/01/phantomjs-webkit-javascript-api

rasterize:

光栅化;点阵化;栅格化;

时间: 2024-10-06 05:20:03

PhantomJS:基于WebKit、开源的服务器端JavaScript API的相关文章

PhantomJS是一个基于WebKit的服务器端JavaScript API

PhantomJS是一个基于WebKit的服务器端JavaScript API,它基于 BSD开源协议发布.PhantomJS无需浏览器的支持即可实现对Web的支持,且原生支持各种Web标准,如DOM 处理.JavaScript.CSS选择器.JSON.Canvas和可缩放矢量图形SVG.PhantomJS主要是通过JavaScript和CoffeeScript控制WebKit的CSS选择器.可缩放矢量图形SVG和HTTP网络等各个模块.PhantomJS主要支持Windows.Mac OS.L

MBTiles 离线地图演示 - 基于 Google Maps JavaScript API v3 + SQLite

MBTiles 是一种地图瓦片存储的数据规范,它使用SQLite数据库,可大大提高海量地图瓦片的读取速度,比通过瓦片文件方式的读取要快很多,适用于Android.IPhone等智能手机的离线地图存储.详情请参考:MBTiles移动存储简介.       在WEB地图介绍中我们看到,瓦片是参照了他们的z/x/y 形式坐标,在磁盘存储上,他们通常存储在以z.x为名字上的目录中,这样就有一个瓦片文件路径是0/0/0.png. 同样用谷歌或百度地图JS API很方便调用.但是有个缺点就是文件多了,暂用磁

JavaScript学习笔记【3】数组、函数、服务器端JavaScript概述

笔记来自<JavaScript权威指南(第六版)> 包含的内容: 数组 函数 服务器端JavaScript概述 数组 数组是动态的:根据需要它们会增长或缩减,并且在创建数组时无须声明一个固定的大小或在数组大小变化时无须重新分配空间. 数组可能是稀疏的:索引不一定要连续的,它们之间可以有空缺. 通常,数组的实现是经过优化的,用数字索引来访问数组元素一般来说比访问常规的对象属性要快很多. 数组继承自Array.prototype中的属性,它定义了一套丰富的数组操作方法. 如果省略数组直接量中的某个

服务器端javascript——Rhino和Node

Node: Node是v8 javasript解析器的一个特别版本,侧重于异步I/O,网络和HTTP 入门见:http://www.cnblogs.com/wishyouhappy/p/3647037.html Rhino: Mozilla开发的免费软件 基于java的Javascript解析器,可以通过javascript程序访问javaAPI 能够完成javascript原生类型和Java原生类型的转换,从而可以使用js脚本设置查询java属性,并且调用java方法 可以利用java swi

发布一个开源极致的javascript模板引擎tpl.js

tpl.js(大家直接去https://git.oschina.net/tianqiq/tpl.js这个上面看) 简介 tpl.js是一个比较极致(极小,极快,极简单)的js模板引擎,可以在各种js环境中使用. 特性 1. 使用js作为模板语言,几乎无学习成本 2. 小巧,速度快到极致 3. 极简的语法,模板书写非常流畅 4. mit开源,无限制 语法说明 简述 tpl.js中模板语法中以行为单一,分为js行语句,和输出行语句.顾名思义,js行语句是编译时候会当做js执行的语句, 而输出行语句,

借助动态代码生成技术在基于Webkit引擎的HTML5网页JS内调用易语言函数

作者:庄晓立(Liigo) 日期:2015年3月3日夜 原创链接:http://blog.csdn.net/liigo/article/details/44045177 版权所有,转载请注明出处:http://blog.csdn.net/liigo 前两天我协助解决了一个技术问题,在此稍作记录和总结. 具体来说,就是在使用基于Webkit引擎的封装组件wke的过程中,需要把一个易语言函数注册给JavaScript引擎,让它可以在网页里被调用(就像在网页里调用普通JavaScript函数一样).如

基于webkit开发分享

因项目需要,需要将B/S上项目以桌面版的形式呈现,并实现控制操作系统锁屏功能,为此只有将其以类似于.NET的WebBrowser控件的方式嵌入winForm,但WebBrowser采用IE内核引擎,对HTML5以及CSS3尚不支持,同时受限于操作系统以及版本限制.为此必须转换思路,通过资料查询,主流浏览器很多,其解释引擎自然也不同,兼容性很好的Chrome采用webkit,FireFox采用GECKO,这两款引擎是我了解目前市场上兼容性比较好的解释引擎,虽说对html5支持程度并不全面,但对于项

【转】基于laravel制作APP接口(API)

这篇文章主要介绍了基于laravel制作APP接口(API)的相关资料,需要的朋友可以参考下 前期准备 前言,为什么做以及要做个啥本人姓小名白,不折不扣编程届小白一名,但是自从大一那会儿接触到编程这件奇妙的事情,就完完全全的陷入的程序的世界. 这不,最近又开始折腾APP了,话说现在开发一款APP真是容易,只用JavaScript和一点点HTML+css技术就可以完成.但是做APP的后台就不一样了.开发了APP,想让读点数据进去,那我们就要去开发个后台了. laravel框架,是我最喜欢的PHP框

Office Add-in Model 为 Mail Add-in 提供的 JavaScript API 介绍

本文所讨论的 Mailbox API是指在 Mail Add-in 中可调用的 JavaScript API.开发者可以利用这些API 实现 Add-in 和 Outlook 的交互(数据读取与写入).希望大家通过这个简单的介绍,认识到 Office Add-In Model 为开发者提供了多大程度和邮件打交道的能力,如果碰巧有正准备开发 Mail Add-in 的同学, 不妨快速扫下 API 列表,然后衡量下它们能不能支撑你完成自己的 Scenarios. 开始之前,需要明确几个问题: 本文中