Skip to content

Commit

Permalink
Create gh-pages branch via GitHub
Browse files Browse the repository at this point in the history
  • Loading branch information
tapir-dream committed Nov 21, 2012
1 parent ae8cc98 commit 657dde0
Show file tree
Hide file tree
Showing 2 changed files with 139 additions and 52 deletions.
189 changes: 138 additions & 51 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,8 @@ <h2> 获取源码 </h2>
<p>https://github.com/tapir-dream/berserkJS
</p>
<h2> 工具主要文件 </h2>
<pre>工具目录
<pre>
工具目录
+ src 目录
| + 源码文件 ……
|
Expand Down Expand Up @@ -213,6 +214,8 @@ <h2> 命令行参数 </h2>
<p>可执行文件 berserkJS 将携带一些命令行参数。如下:
</p>
<ol>
<li> --version 该参数将显示工具当前版本号,并使其它参数失效。
</li>
<li> --help 该参数将在浏览器界面内显示远程 help 页,该页地址为:http://github.com/tapir-dream/berserkJS/。 <b>启用该参数时 --command 参数自动失效。</b>
</li>
<li> --command 该参数将隐藏工具界面使其看起来像纯命令行工具。此方法的设计目的在于非调试环境中不启用界面窗口。
Expand Down Expand Up @@ -254,7 +257,8 @@ <h2> 内部包装出的JS方法表 </h2>
</p>
<p>整体方法树如下:
</p>
<pre>Global + [object] APP + [function] networkData &lt;-- 返回 network 数据数组
<pre>
Global + [object] APP + [function] networkData &lt;-- 返回 network 数据数组
| + [function] close
| + [function] loadScript
| + [function] readFile
Expand Down Expand Up @@ -325,6 +329,12 @@ <h2> 内部包装出的JS方法表 </h2>
| | &lt; - firstPaintFinished
| | &lt; - requestStart
| | &lt; - requestFinished
| | &lt; - print
| | &lt; - close
| | &lt; - scroll
| | &lt; - selectionChanged
| | &lt; - statusBarMessage
| | &lt; - DOMContentLoaded
| | + [function] on &lt;- addEventListener alias
| | + [function] removeEventListener
| | + [function] un &lt;- removeEventListener alias
Expand Down Expand Up @@ -369,10 +379,11 @@ <h2> 内部包装出的JS方法表 </h2>
+ [function] setTimeout &lt;-- webview.setTimeout 方法的引用
+ [function] clearTimeout &lt;-- webview.clearTimeout 方法的引用
+ [function] setInterval &lt;-- webview.setInterval 方法的引用
+ [function] clearInterval &lt;-- webview.clearInterval 方法的引用
+ [function] clearInterval &lt;-- webview.clearInterval 方法的引用
+ [function] print




ps: 一下方法和属性由 QtWebKit 自动包装,参数以及返回值都需 Qt 类型,如无特殊需要强烈不建议使用。
此处仅列出供参考:
Expand Down Expand Up @@ -411,7 +422,8 @@ <h2> 外部JS模块 </h2>
<h2> 模块文件书写规则 </h2>
<p>它是一个简单的匿名函数表达式,可以有返回值,也可以没有返回值。
</p>
<pre>(function() {
<pre>
(function() {
[JS Code]
});
</pre>
Expand All @@ -422,7 +434,8 @@ <h2> 配置管理文件 </h2>
</p>
<p>配置管理文件同样是一个JS模块,文件名为 ‘’‘config.js’‘’,会返回一个 JOSN 作为配置表,规格如下:
</p>
<pre>/**
<pre>
/**
* 配置设置模块
* @return {object} 返回配置对象
*/
Expand Down Expand Up @@ -706,7 +719,8 @@ <h4><b>App.loadScript(path &lt;string&gt;, callback &lt;function&gt;)</b></h4>
<p><br>
例子:
</p>
<pre>var args = [1,2,3];
<pre>
var args = [1,2,3];
var module = App.loadScript(App.path + 'module/xxx.js', function(err, module) {
if (err)
return false;
Expand All @@ -717,7 +731,8 @@ <h4><b>App.loadScript(path &lt;string&gt;, callback &lt;function&gt;)</b></h4>
}
</pre>
<p>反之被加载的 js 文件为非模块写法,则直接<b>在全局上下文环境中</b>运行 JS 文件代码。</p>
<pre>//远程 JS 文件, URL 为 http://www.berserkJS.org/test.js
<pre>
//远程 JS 文件, URL 为 http://www.berserkJS.org/test.js
// test.js 文件内容
var a = 1;

Expand Down Expand Up @@ -949,7 +964,8 @@ <h3> App.selector 命名空间下函数 </h3>
</p>
<p>如下例:
</p>
<pre>// 清空选择器
<pre>
// 清空选择器
App.selecotr.clear();

// 选择所有 http 304 的url
Expand Down Expand Up @@ -1384,6 +1400,8 @@ <h4><b>App.webview.addEventListener(eventName &lt;string&gt;, callback &lt;funct
<ul>
<li> "load" --页面载入完成后触发
</li>
<li> "DOMContentLoaded" --页面 DOM 构造完成时触发
</li>
<li> "initLayoutCompleted"--页面首次布局完成后触发
</li>
<li> "pageChanged"--页面跳转完成时触发
Expand Down Expand Up @@ -1424,6 +1442,16 @@ <h4><b>App.webview.addEventListener(eventName &lt;string&gt;, callback &lt;funct
</li>
<li> "requestFinished" --网络请求监听被开启情况下,页面某资源的网络请求完成时,此事件将被触发。
</li>
<li> "print" --当页面使用 window.print 方法时触发
</li>
<li> "close" --当页面使用 window.close 方法时触发 <b>【注意】工具中页面调用alert方法无法关闭页面,它的输出被事件化。</b>
</li>
<li> "scroll" --当页面滚动条位置被修改后触发
</li>
<li> "selectionChanged" --当页面内容被框选时触发
</li>
<li> "statusBarMessage" --当页面状态栏内容变更时触发
</li>
</ul>
<p><br><b>说明:</b>用来监听页面事件,触发回调函数执行。
</p>
Expand All @@ -1432,36 +1460,63 @@ <h4><b>App.webview.addEventListener(eventName &lt;string&gt;, callback &lt;funct
</p>
<p>根据事件不同回调函的参数值也不同,其中具有参数的事件如下:
</p>
<ul><li> <b>load([timeout&lt;number&gt;, url &lt;string&gt;])</b>
<ul>
<li> <b>load(url &lt;string&gt;)</b>
<ul><li> 参数 url 返回当前 url 字符串。
<li> 参数 timeout 返回从 <b>loadStarted 事件开始到 load 事件</b>的间隔值,单位毫秒。
</li>
<li> 参数 url 返回当前 url 字符串。
</li>
</ul>
</li></ul>
<ul><li> <b>load([timeout&lt;number&gt;, url &lt;string&gt;])</b>
<ul>
<li> 参数 timeout 返回从 <b>loadStarted 事件开始到 load 事件</b>的间隔值,单位毫秒。
</li>
<li> <b>contentsSizeChanged(size &lt;Object&gt;</b>
<ul><li> 参数 size 返回当前内容大小, 数据格式 {width, height}
<li> 参数 url 返回当前 url 字符串。
</li>
</ul>
</li></ul>
<ul><li> <b>DOMContentLoaded([timeout&lt;number&gt;, url &lt;string&gt;])</b>
<ul>
<li> 参数 timeout 返回从 <b>loadStarted 事件开始到 DOMContentLoaded 事件</b>的间隔值,单位毫秒。
</li>
<li> <b>titleChanged(title &lt;string&gt;)</b>
<ul><li> 参数 title 返回当前 title 字符串。
<li> 参数 url 返回当前 url 字符串。
</li>
</ul>
</li></ul>
<ul><li> <b>initLayoutCompleted([timeout&lt;number&gt;, url &lt;string&gt;])</b>
<ul>
<li> 参数 timeout 返回从 <b>loadStarted 事件开始到 initLayoutCompleted 事件</b>的间隔值,单位毫秒。
</li>
<li> 参数 url 返回当前 url 字符串。
</li>
<li> <b>urlChanged(url &lt;string&gt;)</b>
</ul>
</li></ul>
<ul><li> <b>contentsSizeChanged([size &lt;Object&gt;])</b>
<ul><li> 参数 size 返回当前内容大小, 数据格式 {width, height}
</li></ul>
</li></ul>
<ul><li> <b>titleChanged([title &lt;string&gt;])</b>
<ul><li> 参数 title 返回当前 title 字符串。
</li></ul>
</li></ul>
<ul><li> <b>urlChanged([url &lt;string&gt;])</b>
<ul><li> 参数 url 返回当前 url 字符串。
</li></ul>
</li>
<li> <b>loadProgress(progress &lt;number&gt;)</b>
</li></ul>
<ul><li> <b>loadProgress([progress &lt;number&gt;])</b>
<ul><li> 参数 progress 返回当前加载进度值,范围 1-100。
</li></ul>
</li>
<li> <b>repaint(rect &lt;Object&gt;)</b>
</li></ul>
<ul><li> <b>repaint([rect &lt;Object&gt;])</b>
<ul><li> 参数 rect 返回当前重绘区域, 数据格式 {x, y, left, right, top, bottom, width,height} 。
</li></ul>
</li>
<li> <b>pageRectChanged(rect &lt;Object&gt;)</b>
</li></ul>
<ul><li> <b>pageRectChanged([rect &lt;Object&gt;])</b>
<ul><li> 参数 rect 返回当前视口区域, 数据格式 {x, y, left, right, top, bottom, width,height} 。
</li></ul>
</li>
<li> <b>consoleMessage(msg&lt;string&gt;, lineNumber&lt;number&gt;, sourceID&lt;string&gt;):</b>
</li></ul>
<ul><li> <b>consoleMessage([msg&lt;string&gt;, lineNumber&lt;number&gt;, sourceID&lt;string&gt;])</b>
<ul>
<li> 参数 msg: 控制台输出内容
</li>
Expand All @@ -1470,40 +1525,40 @@ <h4><b>App.webview.addEventListener(eventName &lt;string&gt;, callback &lt;funct
<li> 参数 sourceID: 如果是脚本执行错误,则 sourceID 会指出是那个脚本触发。
</li>
</ul>
</li>
<li> <b>prompt(msg&lt;string&gt;, defaultValue&lt;number&gt;):</b>
</li></ul>
<ul><li> <b>prompt([msg&lt;string&gt;, defaultValue&lt;number&gt;])</b>
<ul>
<li> 参数 msg: prompt方法的首参数
</li>
<li>参数 defaultValue: prompt方法的次参数
<li> 参数 defaultValue: prompt方法的次参数
</li>
</ul>
</li>
<li> <b>confirm(msg&lt;string&gt;):</b>
</li></ul>
<ul><li> <b>confirm([msg&lt;string&gt;])</b>
<ul><li> 参数 msg: confirm中的提示文字
</li></ul>
</li>
<li> <b>alert(msg&lt;string&gt;):</b>
</li></ul>
<ul><li> <b>alert([msg&lt;string&gt;])</b>
<ul><li> 参数 msg: alert中的提示文字
</li></ul>
</li>
<li> <b>message(wparam &lt;Object|string|number&gt;, lparam&lt;Object|string|number&gt;)</b>
<ul><li> 参数返回页面中执行 __pageExtension.postMessage 方法时的两个信息参数,参数类型根据 __pageExtension.postMessage 方法执行时具体传入参数而定。
</li></ul>
</li>
<li> <b>firstPaintFinished(timeout &lt;int&gt;, url&lt;string&gt;)</b>
<ul><li> <b>message([wparam &lt;string&gt;, lparam&lt;string&gt;])</b>
<ul><li> 参数返回页面中执行 __pageExtension.postMessage 方法时的两个字符串参数。
</li></ul>
</li></ul>
<ul><li> <b>firstPaintFinished([timeout &lt;int&gt;, url&lt;string&gt;])</b>
<ul>
<li> 参数 timeout 返回当前从 <b>urlChanged 事件开始到首次渲染时间</b>的间隔值。
<li> 参数 timeout 返回当前从 <b>loadStarted 事件开始到首次渲染时间</b>的间隔值,单位毫秒
</li>
<li> 参数 url 返回当前 url 字符串。
</li>
<li> <b>注意:此事件可以通过其他事件组合,由JS实现,此处仅给出内置的组合方案。</b>
</li>
</ul>
</li>
<li> <b>firstScreenFinished(timeout &lt;int&gt;, url&lt;string&gt;)</b>
</li></ul>
<ul><li> <b>firstScreenFinished([timeout &lt;int&gt;, url&lt;string&gt;])</b>
<ul>
<li> 参数 timeout 返回当前从 <b>urlChanged 事件开始到首屏渲染完毕</b>的间隔值。
<li> 参数 timeout 返回当前从 <b>loadStarted 事件开始到首屏渲染完毕</b>的间隔值,单位毫秒
</li>
<li> 参数 url 返回当前 url 字符串。
</li>
Expand All @@ -1513,7 +1568,7 @@ <h4><b>App.webview.addEventListener(eventName &lt;string&gt;, callback &lt;funct
<ul>
<li> 默认检测方法:
<ul>
<li>urlChanged 事件触发开始计时
<li><b>loadStarted</b> 事件触发开始计时
</li>
<li> 从 firstPaintFinished 事件触发后,按照当前视口区域平均分布 14400 个像素监控点
</li>
Expand All @@ -1527,7 +1582,7 @@ <h4><b>App.webview.addEventListener(eventName &lt;string&gt;, callback &lt;funct
</li>
<li> 自定义监控点检测方法:
<ul>
<li>urlChanged 事件触发开始计时
<li><b>loadStarted</b> 事件触发开始计时
</li>
<li> 从 firstPaintFinished 事件触发后,按照 setDetectionRects 方法设置的重点检测区块内分布像素级检测点
</li>
Expand All @@ -1542,17 +1597,16 @@ <h4><b>App.webview.addEventListener(eventName &lt;string&gt;, callback &lt;funct
</ul>
</li>
</ul>
</li>
</ul>
<ul><li><ul><li> <b>firstScreenFinished 事件缺陷(非常重要): </b>
</li></ul>
<ul><li><ul><li> <b>此事件缺陷(非常重要): </b>
<ul>
<li> 默认检测方法不适合用于长时间有大规模像素变化的页面。
</li>
<li> 由于检测分布点色值取自 webkit 渲染内核,如果存在 wmode 属性值为 window 的 Flash (它由系统接管渲染,而非浏览器),那么检测点将无法获得它的色值变化。此类页面的首屏时间可能会不准确。
</li>
</ul>
</li></ul></li></ul>
<ul><li> <b>requestStart(url &lt;string&gt;)</b>
<ul><li> <b>requestStart([url &lt;string&gt;])</b>
<ul>
<li> 参数: url 返回正在发送请求的 url。
</li>
Expand All @@ -1562,7 +1616,7 @@ <h4><b>App.webview.addEventListener(eventName &lt;string&gt;, callback &lt;funct
</li>
</ul>
</li></ul>
<ul><li> <b>requestFinished(url &lt;string&gt;)</b>
<ul><li> <b>requestFinished([url &lt;string&gt;])</b>
<ul>
<li> 参数: url 返回请求已经结束的 url。
</li>
Expand All @@ -1572,6 +1626,34 @@ <h4><b>App.webview.addEventListener(eventName &lt;string&gt;, callback &lt;funct
</li>
</ul>
</li></ul>
<ul><li> <b>print([url &lt;string&gt;])</b>
<ul><li> 参数 url 返回当前 url 字符串。
</li></ul>
</li></ul>
<ul><li> <b>close([title &lt;string&gt;])</b>
<ul><li> 参数 url 返回当前 url 字符串。
</li></ul>
</li></ul>
<ul><li> <b>scroll([top&lt;number&gt;, left&lt;number&gt;, diffTop&lt;number&gt;, diffLeft&lt;number&gt;])</b>
<ul>
<li> 参数 top 返回垂直滚动条当前位置距离页面顶部距离。
</li>
<li> 参数 left 返回水平滚动条当前位置距离页面左部距离。
</li>
<li> 参数 diffTop 返回垂直滚动条当前移动增量。
</li>
<li> 参数 diffLeft 返回水平滚动条当前移动增量。
</li>
</ul>
</li></ul>
<ul><li> <b>selectionChanged([html &lt;string&gt;])</b>
<ul><li> 参数 html 返回被框选的 html 字符串。
</li></ul>
</li></ul>
<ul><li> <b>statusBarMessage([text &lt;string&gt;])</b>
<ul><li> 参数 text 返回当前状态条内容。
</li></ul>
</li></ul>
<p><br></p>
<h4><b>App.webview.on(eventName &lt;string&gt;, callback &lt;function&gt;)</b></h4>
<p><b>说明:</b> addEventListener 方法的别名方法。
Expand Down Expand Up @@ -1648,18 +1730,21 @@ <h4><b>App.webview.execScript(sandbox &lt;function&gt; [, argObject &lt;Object&g
</p>
<p>例子:
</p>
<pre> // 执行当前页面中的console.log方法打印在控制台中打印 'hello'
<pre>
// 执行当前页面中的console.log方法打印在控制台中打印 'hello'
App.webview.execScript(function(msg) {
console.log(msg);
}, 'hello');
</pre>
<pre> // 执行当前页面中的console.log方法在控制台中打印 'width: 100, height:100''
<pre>
// 执行当前页面中的console.log方法在控制台中打印 'width: 100, height:100''
App.webview.execScript(function(size) {
console.log('width: ' + size.width + ", " + "height: " + size.height);
}, {width:100, height:300});
</pre>
<p><br></p>
<pre> // 将参数传入页面沙箱计算并出沙箱接受
<pre>
// 将参数传入页面沙箱计算并出沙箱接受
var msg = App.webview.execScript(function(size) {
return 'width: ' + size.width + ", " + "height: " + size.height;
}, {width:100, height:300});
Expand Down Expand Up @@ -1769,7 +1854,8 @@ <h4><b>console .timeEnd(flag &lt;string&gt;)</b></h4>
</p>
<p><b>例如:</b>
</p>
<pre>console.time('flag');
<pre>
console.time('flag');
setTimeout(function() {
console.timeEnd('flag');
}, 2000);
Expand All @@ -1794,7 +1880,8 @@ <h4> <b>__pageExtension.postMessage([wparam &lt;Object|string|number&gt;, lparam
</p>
<p><b>例如:</b>
</p>
<pre>App.webview.addEventListener('message', function(w, l) {
<pre>
App.webview.addEventListener('message', function(w, l) {
if ('page' == l.b) {
App.webview.execScript(function(msg) {
// 显示 "this is a message" 信息。
Expand Down
2 changes: 1 addition & 1 deletion params.json

Large diffs are not rendered by default.

0 comments on commit 657dde0

Please sign in to comment.