代码改变世界

iOS使用UIWebView遇到Error Domain=WebKitErrorDomain Code=101 “The operation couldn’t be completed. (WebKitErrorDomain error 101

2014-02-25 13:00 by sniper007, 4101 阅读, 0 推荐, 收藏, 编辑
摘要:现在在接触iOS开发,今天在调试一个界面加载web页面的问题,发现死活无法加载,浏览器里能正常打开,加上相应代码之后得到了错误信息为:2013-04-18 15:05:06.446 Client_DEMO[22889:1a303]webviewdidFailLoadWithError > , and err is Error Domain=WebKitErrorDomain Code=101 “The operation couldn’t be completed. (WebKitErrorDomain error 101.)”加日志的办法为:WebviewDelegat.h 代码如下: 阅读全文

浏览器是怎样工作的:渲染引擎,HTML解析

2014-02-13 23:18 by sniper007, 355 阅读, 0 推荐, 收藏, 编辑
摘要:渲染引擎渲染引擎的职责是……渲染,也就是把请求的内容显示到浏览器屏幕上。默认情况下渲染引擎可以显示HTML,XML文档以及图片。 通过插件(浏览器扩展)它可以显示其它类型文档。比如使用PDF viewer插件显示PDF文件。我们会在一个专门的章节讨论插件与扩展。在这一节我们将专注渲染引擎的主要用途——显示用CSS格式化的HTML与图片。各种渲染引擎我们提到的Firefox, Safari两种浏览器构建于两种渲染引擎之上:Firefox使用Gecko —— Mozilla自家的渲染引擎;Safari 和 Chrome 都使用 Webkit。Webkit 是一个开源的渲染引擎,它源自Linux平台 阅读全文

堆 和 栈的 区别(经典)

2014-02-13 22:52 by sniper007, 231 阅读, 0 推荐, 收藏, 编辑
摘要:此文章虽然是面向C/C++程序员写得,但是对咱们Java程序员还是很有帮助的。堆和栈的区别一、预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在 阅读全文

Javascript的堆和栈的简单理解

2014-02-13 22:51 by sniper007, 737 阅读, 0 推荐, 收藏, 编辑
摘要:1 2 3 4 5 Javascript中堆和栈的简单理解 6 7 8 9 53 54 阅读全文

页面呈现、重绘、回流。

2014-02-12 11:17 by sniper007, 381 阅读, 0 推荐, 收藏, 编辑
摘要:页面呈现流程 在讨论页面重绘、回流之前。需要对页面的呈现流程有些了解,页面是怎么把html结合css等显示到浏览器上的,下面的流程图显示了浏览器对页面的呈现的处理流程。可能不同的浏览器略微会有些不同。但基本上都是类似的。 1. 浏览器把获取到的html代码解析成1个Dom树,html中的每个tag都是Dom树中的1个节点,根节点就是我们常用的document对象( tag)。dom树就是我们用firebug或者IE Developer Toolbar等工具看到的html结构,里面包含了所有的html tag,包括display:none隐藏,还有用JS动态添加的元素等。 2. 浏览器把... 阅读全文

什么是 dynaTrace Ajax

2014-02-12 11:16 by sniper007, 1555 阅读, 0 推荐, 收藏, 编辑
摘要:随着 jQuery、Dojo、YUI 等框架的兴起让构建 Web2.0 应用更加容易,但随之带来的定位等应用问题也越来越难,尤其是与性能相关的。dynaTrace Ajax Edition是一个强大的底层追踪、前端性能分析工具,该工具不仅能够记录浏览器的请求在网络中的传输时间、前端页面的渲染时间、DOM 方法执行时间以及 JavaScript 代码的解析和执行时间,还可以跟踪 JavaScript 从执行开始,经过本地的 XMLHttpRequest、发送网络请求、再到请求返回的全过程。dynaTrace Ajax 目前有两个版本,免费版和商业版,它们之间的区别可查看版本比较,本文主要是针对免 阅读全文

面包屑设计

2014-02-10 21:49 by sniper007, 417 阅读, 0 推荐, 收藏, 编辑
摘要:What? 什么是面包屑 面包屑是作为辅助和补充的导航方式(secondary navigation scheme),它能让用户知道在网站或应用中所处的位置并能方便地回到原先的地点。 最常见的面包屑的样式是:横向的文字链接,由大于号“>”分开,这个符号也暗示了它们的层级关系。【面包屑的分类】 1.基于用户所在的层级位置。(Location-based) 基于位置的面包屑用于告知用户在当前网站中所在的结构层级。用在具有多级导航(通常具有2级以上导航)的网站中。 2.基于产品的属性。(Attribute-based) 这种类型的面包屑常出现在具有大量类别产品和服务的网站中,如电子商务... 阅读全文

HTML5之pushstate、popstate操作history,无刷新改变当前url

2014-01-29 13:45 by sniper007, 11066 阅读, 0 推荐, 收藏, 编辑
摘要:一、认识window.historywindow.history表示window对象的历史记录,是由用户主动产生,并且接受javascript脚本控制的全局对象。window对象通过history对象提供对览器历史记录的访问能力。它暴露了一些非常有用的方法和属性,让你在历史记录中自由前进和后退。1、历史记录的前进和后退在历史记录中后退,可以这么做:1 window.history.back();这就像用户点击浏览器的后退按钮一样。类似的,你可以前进,就像在浏览器中点击前进按钮,像这样:1 window.history.forward();2、移动到指定历史记录点通过指定一个相对于当前页面位置的 阅读全文

JavaScript世界的一等公民 - 函数

2014-01-15 20:34 by sniper007, 335 阅读, 0 推荐, 收藏, 编辑
摘要:简介在很多传统语言(C/C++/Java/C#等)中,函数都是作为一个二等公民存在,你只能用语言的关键字声明一个函数然后调用它,如果需要把函数作为参数传给另一个函数,或是赋值给一个本地变量,又或是作为返回值,就需要通过函数指针(function pointer)、代理(delegate)等特殊的方式周折一番。而在JavaScript世界中函数却是一等公民,它不仅拥有一切传统函数的使用方式(声明和调用),而且可以做到像简单值一样赋值、传参、返回,这样的函数也称之为第一级函数(First-class Function)。不仅如此,JavaScript中的函数还充当了类的构造函数的作用,同时又是一个 阅读全文

宿主环境(host environment)

2014-01-15 19:11 by sniper007, 1704 阅读, 0 推荐, 收藏, 编辑
摘要:在此前的内容中,我讨论的都是JavaScript语言及其规范,而并非该语言的应用环境。在大多数人看来,JavaScript应用环境都是Web浏览器,这也的确是该语言最早的设计目标。然而从很早开始,JavaScript语言就已经在其他的复杂应用环境中使用,并受这些应用环境的影响而发展新的语言特性了 。JavaScript的应用环境,主要由宿主环境与运行期环境构成。其中,宿主环境是指外壳程序(Shell)和Web浏览器等,而运行期环境则是由JavaScript引擎内建的。图1-8说明由它们共同构建的对象编程系统的基本结构:图1-8 由宿主与运行期构成的应用环境1.5.1 宿主环境(host e.. 阅读全文