本文主要探讨了JavaScript事件在WebKit中的注册和触发机制。 JS事件有两种注册方式: 通过DOM节点的属性添加或者通过node.addEventListener()函数注册; 通过DOM节点的属性添加如下所示,节点的属性采用on后面紧接event name的形式,比如onclick, onload; <html> <head> <script type="text/javascript">function listener(e){alert("hello world!");} </script> </head> <body> <button onclick="listener(event)">click</...
看到HorkeyChen写的文章《[WebKit] JavaScriptCore解析--基础篇(三)从脚本代码到JIT编译的代码实现》,写的很好,深受启发。想补充一些Horkey没有写到的细节比如字节码是如何生成的等等,为此成文。 JSC对JavaScript的处理,其实与Webkit对CSS的处理许多地方是类似的,它这么几个部分:(1)词法分析->出来词语(Token);(2)语法分析->出来抽象语法树(AST:Abstract Syntax Tree);(3)遍历抽象语法树->生成字节码(Bytec...
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三个平台,并且提供了对应的二进制安装包,读者...
我正在使用node-webkit从具有大量外部脚本和样式表的Intranet站点创建桌面应用程序.我在调试时注意到的一个问题是,它似乎在不同的运行之间偶尔缓存外部脚本和样式表 – 有时它会加载最近修改过的脚本,有时它会在没有打开地址栏并手动输入脚本路径的情况下加载然后重新加载.是否有任何方法可以使它每次加载时都获得一个新的依赖项副本? 我正在使用的package.json如下:{"name": "name","description": "description","version": "0...
我有一个包含WebView的Cocoa应用程序.由于应用程序已安装客户群,我的目标是10.4 SDK. (即我不能要求Leopard.) 我有两个文件:index.html和data.js. 在运行时,为了响应用户输入,我通常会使用应用程序中的当前数据填充data.js文件. (data.js文件由body.html上的index.html文件用于填充index.html中的表.index.html本身不会被修改.) 为了(据说)阻止WebKit缓存我经常变化的数据,我打电话给:NSURLRequest *urlRequest = [NSURLRequest ...
我用node-webkit封了一个简单的应用(main直接指向我的一个网站),当中webrtc的视频通信,可是经常被360等流氓阻止摄像头的调用。 可有办法破之?回复内容:我用node-webkit封了一个简单的应用(main直接指向我的一个网站),当中webrtc的视频通信,可是经常被360等流氓阻止摄像头的调用。 可有办法破之?360是驱动层面的阻拦摄像头的,要破解有点难。要不然当应用检测到摄像功能不能正常使用的时候,提示用户暂时退出安全软件,给...
这篇文章主要介绍了windows环境下用node-webkit把web应用打包成桌面应用的教程,需要的朋友可以参考下node-webkit是一个Chromium和node.js上的结合体,通过它我们可以把建立在chrome浏览器和node.js上的web应用打包成桌面应用,而且还可以跨平台的哦。很显然比起传统的桌面应用,在某些特定领域用html5+css3+js开发的web应用更加简单和高效,而且还可以使用node.js的功能,所以node-webkit还是很有用处的。下面我通过一个简单的demo...
这次给大家带来webkit-font-smoothing字体抗锯齿渲染使用案例详解,webkit-font-smoothing字体抗锯齿渲染使用的注意事项有哪些,下面就是实战案例,一起来看一下。Webkit在自己的引擎中支持了这一效果-webkit-font-smoothing它有三个属性值:none:对低像素的文本比较好subpixel-antialiased:默认值antialiased:抗锯齿很好使用方法body{-webkit-font-smoothing: antialiased; }相信看了本文案例你已经掌握了方法,更多精彩请关注...
node-webkit是一个Chromium和node.js上的结合体,通过它我们可以把建立在chrome浏览器和node.js上的web应用打包成桌面应用,而且还可以跨平台的哦。很显然比起传统的桌面应用,在某些特定领域用html5+css3+js开发的web应用更加简单和高效,而且还可以使用node.js的功能,所以node-webkit还是很有用处的。下面我通过一个简单的demo来介绍怎么样把一个web应用打包成一个可执行文件(这里只介绍windows环境)首先新建一个index.html文...
这里有个简单的测试页面:IE、火狐弹出"hello world",而chrome,safari,opera毫无反应。 以下是小段测试代码(刻意修改domain,让父页面和子页面为不同域页面): 1.父页面代码: 代码如下: document.domain = "nunumick.me"; function doTest(){ alert('hello world'); } 2.子页面代码: 代码如下: try{ top.name; }catch(e){ document.domain = 'nunumick.me'; top.doTest(); } 以上代码目的是尝试在访问异常时动态修改...
这段代码是我在做13年一份兼职的时候无聊加上去的,为jQuery添加触摸事件的支持。因为做得有点无聊,所以就帮客户添加了用响应式网页+JS touch兼容了移动设备,主要是Webkit的移动设备。 这里就分享下我的实现。先贴上代码:代码如下://Published by Indream Luo//Contact: indreamluo@qq.com//Version: Chinese 1.0.0 !function ($) { window.indream = window.indream || {}; $.indream = indream;//Define events indr...
最近项目需要用到node-webkit。处理古老级用户的兼容以及他们心里的‘数据安全'问题。 1、下载完node-webkit 2、制作appName.nw文件 3、copy /b nw.exe+appName.nw TestAppName.exe 到目前为止,目录下生成了TestAppName.exe文件 ,双击运行很完美。 但,直接将TestAppName.exe换个目录,却打不开。 google+百度的解决方案:使用Enigma Virtual Box工具,打包成exe文件。(Enigma Virtual Box 的使用方法请百度或Google) 好吧,的...
PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API。它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG。 PhantomJS 可以用于 页面自动化 , 网络监测 , 网页截屏 ,以及 无界面测试 等。 PhantomJs官网:http://phantomjs.org/ GitHub:https://github.com/ariya/phantomjs/wiki/Quick-Start一、安装 安装包下载地址:http://phantomjs.org/download.html ,包括 ...
PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API。它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG。 PhantomJS 可以用于 页面自动化 , 网络监测 , 网页截屏 ,以及 无界面测试 等。 PhantomJs官网:http://phantomjs.org/ GitHub:https://github.com/ariya/phantomjs/wiki/Quick-Start一、安装 安装包下载地址:http://phantomjs.org/download.html ,包括 ...
最近项目需要用到node-webkit。处理古老级用户的兼容以及他们心里的‘数据安全问题。 1、下载完node-webkit 2、制作appName.nw文件 3、copy /b nw.exe+appName.nw TestAppName.exe 到目前为止,目录下生成了TestAppName.exe文件 ,双击运行很完美。 但,直接将TestAppName.exe换个目录,却打不开。 google+百度的解决方案:使用Enigma Virtual Box工具,打包成exe文件。(Enigma Virtual Box 的使用方法请百度或Google) 好吧,的...