WebKit之js解析和执行初始

原创 2015年11月21日 17:27:32
## 测试页面
<html>
<head>
	<title>Test-JSC</title>
	<head>
	<script>
	function on_click()
	{
		alert("hello");
	}
	</script>
	</head>
</head>
<body>
<button onclick="on_click()">Click</button>
</body>
</html>

## 页面加载阶段
JSC::evaluate(exec, source, thisValue, exception);
JSValue JSMainThreadExecState::evaluate(exec, jsSourceCode, shell, &evaluationException);
ScriptValue ScriptController::evaluateInWorld(const ScriptSourceCode& sourceCode, DOMWrapperWorld* world)
ScriptController::evaluate(const WebCore::ScriptSourceCode & sourceCode)
ScriptElement::executeScript()
ScriptElement::prepareScript()
HTMLDocumentParser::runScriptsForPausedTreeBuilder()
HTMLDocumentParser::canTakeNextToken()
HTMLDocumentParser::pumpTokenizerIfPossible()
DecodedDataDocumentParser::appendBytes()
DocumentWriter::addData(const char * str, int len=0, bool flush=true)
DocumentWriter::endIfNotLoadingMainResource()
DocumentWriter::end()

## 调试&&总结
1、页面加载完毕进行到解析阶段时,就会调度JSC执行以上的js的代码,当用户真正点击的button时,
   不会再执行以上解析操作,而是runJavascriptAlert()操作

相关文章推荐

webkit开发之JS扩展篇

我们在做webkit的JS扩展时总会用到#include 在做webkit javascript扩展时,一般我们按以下流程做: 首先创建一个类 JSClassRef JSClassCreate...
  • lqrensn
  • lqrensn
  • 2012年10月25日 10:01
  • 13350

webkit+各种js交互方法

一、版本 8系统前,用UIWebView 8系统后,用webkit,WKWebView 因为webkit有两大优点: 1、占用内存更小, 2、可以通过回调直接捕捉网页上的alert,输入等j...

理解WebKit和Chromium: JavaScript引擎简介

转载请注明原文地址:http://blog.csdn.net/milado_nju1. 什么是JavaScript引擎什么是JavaScript引擎?简单来讲,就是能够提供执行JavaScript代码...

JavaScriptCore, WebKit的JS实现(一)

目前,JavaScript的实现已经成为编译领域的一个重要组成部分。主要包括Google的V8, Mozilla的SpiderMonkey, 还有Webkit使用的JavaScriptCore。  ...

c#winform中使用WebKit传递js对象实现与网页交互

有个项目要使用WebBroswer控件,并且要能传递一个js对象供前台调用,用c#的WebBroswer控件很容易实现: [csharp] view plaincopyprint? ...
  • lyflcear
  • lyflcear
  • 2013年08月18日 23:55
  • 26130

webkit中的javascript(1)---javascript函数调用在webkit中的实现

javascript函数调用如何实现的? ##############################################################################...
  • zevolo
  • zevolo
  • 2012年09月24日 18:37
  • 2408

HTML+CSS+python+qtwebkit打造跨平台桌面应用(二)

目录 引言与环境配置 数据交互问题(这应该是最先想到,html使用js控制的,如何跟python交互数据呢) 文件编码问题,为了国际化、通用化,要用unicode否则汉字不能正常显示 界面问题,具体...

webview.shouldOverrideUrlLoading不会接收window.location.href重定向

s 对于window.location.href重定向,客户端无法获取点击事件,所以不会主动加上url后面的参数。 建议用“模拟点击事件”的方式替代所有的“window.location.href...

Webkit之JSC Binding解析

WebCore与JavaScriptCore之间使用了Proxy模式,WebCore为JSC提供了一层binding层做为封装。 Webkit参照W3C Web IDL(之前称为Lang...
  • sauphy
  • sauphy
  • 2015年11月16日 23:59
  • 312

深入理解webkit内核系列第二篇:JavaScript引擎深度解析

看到HorkeyChen写的文章《[WebKit] JavaScriptCore解析--基础篇(三)从脚本代码到JIT编译的代码实现》,写的很好,深受启发。想补充一些Horkey没有写到的细节比如字节...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WebKit之js解析和执行初始
举报原因:
原因补充:

(最多只允许输入30个字)