- 10. Xebium的Restful调用方式
摩羯座Alex
Xebium的底层Fitnesse就支持Restful的服务方式,在自带的用户指南中已经有具体的命令说明,先大致提一下:http://host:port/resource?responder&inputs官方文档给出的就是以上调用形式,resource就是我们之前在“目录结构和页面类型”中提到的脚本本体,重点在于responder(或者可以解释为针对页面的操作,这样就容易理解了),另外“&”后面可
- Graylog—日志聚合工具中的后起之秀
会飞的鱼Coo
以下文章来源于:https://testerhome.com/topics/3026?locale=zh-cn「发表于TesterHome」作者:htmlbiji(超爱fitnesse)日志管理工具总览先看看推荐!国外程序员整理的系统管理员资源大全中,国外程序员整理的日志聚合工具的列表:日志管理工具:收集,解析,可视化Elasticsearch-一个基于Lucene的文档存储,主要用于日志索引、存
- 用IntelliJ IDEA来Debug FitNesse
47号公路
举例参考http://www.ituring.com.cn/article/115332首先在eg包下创建一个新类,名字为DebugTest.内容为下packageeg;publicclassDebugTest{privateString_name;privateString_team;publicvoidsetName(Stringname){_name=name;}publicvoidsetT
- 基于Pytest的接口测试
程序员白虎
pytest压力测试自动化测试软件测试测试工程师
最近要开展接口测试,起初打算使用公司已有的Fitnesse测试工具来进行接口测试。过程中发现,构造接口字段数据、测试数据都比较困难,接口参数多的时候,用例量就会很多,关键执行速度还慢。所以放弃了。找了一些其它工具,都不太能解决数据构造困难的问题。找不到工具,就直接使用代码来实现。考虑到代码量,结合网上的一些推荐,决定使用python+pytest来编写接口自动化用例。决定了语言和框架,接下来要考虑
- Fitnesse_01_介绍
我有健康
自动化测试测试工具
是一个完全集成的独立wiki和验收测试框架。1、协作工具由于FitNesse是一个wikiweb服务器,它的入门和学习曲线非常低,这使得它成为一个优秀的工具,可以与业务涉众进行协作。2、测试工具FitNesse中创建的wiki页面作为测试运行。规范可以针对应用程序本身进行测试,从而导致规范和实现之间的来回转换。3、它是开源的FitNesse是一个开源项目。代码库不属于任何公司。FitNesse社区
- 5. 测试前的一些准备工作
摩羯座Alex
之前的知识点,我们覆盖了Xebium(fitnesse)里一些关于如何写wiki,如何分享或者合作处理知识点的内容。那么之后就要考虑如何用wiki写自动化测试脚本了。在这里先要了解下,相关测试的一些知识点:1)我们要测试一个项目,好的方法是创建自己的项目目录,然后这个目录下创建相关的测试集(TestSuite),在测试集下创建测试用例(TestCase)。项目目录需要列出下面所有的内容,Xebiu
- 技术导航
iteye_12451
[b]1.OpensourceSoftwareTest[/b][list][*]Fitnesse[*][url=http://www.opensourcetesting.org/]开源测试工具[/url][/list][b]2.GUItestingtools[/b]2.1Generic/Platformindependent[list][*][url=http://groups.csail.mit
- 验收测试工具----Fitnesse安装部署
硿白
软件测试
无意间发现了一款开源的验收测试工具-----FitNesse,由Java编写而成,支持多语言软件产品的测试工具。在FitNesse框架中,包含三个部分:Wiki,TestSystem,Fixtures。Wiki展现具体的TestCase及TestSuite甚至包含TestRequirement;TestSystem包含Slim、Fit即Fitnesse的执行引擎;Fixtures是真正的测试代码。
- 软件测试管理快速入门15-2019最佳测试管理工具
python测试开发_AI命理
image.png无论是捕获需求,设计测试用例,测试执行报告,向其他团队成员通知测试进度等,都必须使用测试管理工具。记录这些细节时即使很小的错误也可能导致灾难性的影响和项目的失败。因此,为了管理所有这些细节,一些测试管理工具可以非常方便和有用。让我们看看一些最好的测试管理和QA工具。Klaros-Test有免费社区版本、BugZillaTestopia、Fitnesse、Tarantula--开源
- 如何写出优雅的函数(Clean Code读书笔记之二)
TheAlchemist
函数是代码组合的基本单位,高级编程语言的发展从结构化到面向对象,再到最近大有要复兴之势的函数式编程,函数都是组成这座大厦不可或缺的基本组成部分,它的重要性不言而喻。本文将依据「cleancode」第三章的内容,大致捋一遍如何写出优雅的函数。第三章讲了在写函数时应该注意的事情,作者首先拿一个开源的测试工具(Fitnesse)来举了一个例子,来说明好的函数该是什么样子。原则上其实和上一篇中讲到的命名的
- 2. Xebium安装部署
摩羯座Alex
1.下载Xebium:http://github.com/xebia/Xebium/zipball/master下载后,直接解压缩到某个目录下,通常为方便起见,解压到盘根目录即可,Linux或者Windows都可。(我们以windows为例,假设解压到C:\下,解压后目录如下:C:\Xebium)2.依赖的环境:1)Java运行环境:因为之后要做Fitnesse测试套件,所以不建议只安装Runti
- 修改fitnesse源码->自定义页面脚本中各种Table(ScriptTable,DecisionTable)的类实例变量
Simon612
fitnesse
修改fitnesse源码,使得页面的table中实例化的类分配到自定义的变量中只需要修改源码工程中的2个类方法1.需要修改fitnesse.testsystems.slim.tables.Disgracer类中的disgraceName()方法privateStringdisgraceName(){disgracedName=newStringBuffer();/***addbyyefengson
- Fitnesse slim框架的DecisionTable类自动保存实例变量到fitnesse变量存储中
Simon612
自动化测试fitnesse
假如有2个Class,分别是A和BpublicclassA{privateStringname;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}}publicclassB{privateAa;privateintc;publicAgetA(){returna;}publicvoidset
- fitnesse执行日志(executionLog)中文乱码的2种解决方法
Simon612
fitnesse
fitnesse执行日志(executionLog)中文乱码的2种解决方法:1.可以通过修改源码文件fitnesse.testsystems.ClientBuilder中的DEFAULT_COMMAND_PATTERN变量值,加入"-Dfile.encoding=utf-8"staticfinalString[]DEFAULT_COMMAND_PATTERN={javaExecutable(),"
- 利用fitnesse实现api接口自动化测试
pythonapi数据测试自动化测试
利用fitnesse实现api接口自动化测试所测接口:api接口,返回结果json格式所用工具:fitnesse,fit引擎,python方法一测试思想:在页面上初始化测试数据,将接口的返回结果按每个字段逐一填写期望结果,和接口的实际结果比较测试数据准备:在界面上利用sql语句初始化测试数据,然后在测试用例页面included该页面测试用例:将json各个字段拆开填写到测试用例表格中,用Colum
- 【接口测试】FitNesse中文指南
liuxinsysu
FitNesse接口测试
原文来自FitNesse官方网站:http://fitnesse.org/FitNesse.UserGuide#introduction作者:RobertC.Martin, MicahD.Martin, PatrickWilson-Welsh& FitNessecontributors翻译:TripleGold--------------------------------------------
- 关于Automated Acceptance Testing Tool的讨论
test
最近国外博客上掀起一场关于AutomationAcceptanceTestingTool的讨论。如果没听过这个词,这里是简单介绍:它是指一份可执行的需求文档,有很多名词:AcceptanceTesting,StoryTesting,Bahaviordrivendevelopment。讲的大体是同样的意思。要让需求文档(或者验收文档)可以执行,当然需要工具,最著名的大概是Fit/FitNesse,还
- 验收测试管理工具FitNesse_
FitNesse是一个增加了可触发Junit 测试等附加功能的wiki程序。如果这些测试能够与业务需求结合起来,就会使业务需求更加清晰。而且,测试数据的组织更有逻辑性。使用FitNesse更重要的是学习隐含在其中的一些思想,某些部分需求可以作为测试的一部分,这意味着,这些需求是可以测试的,或者说是可以进行校验的。利用FitNesse,开发的工作过程可以这样描述:需求工程师使用FitNesse书写业
- .NET里的行为驱动开发
.net
BDD (Given - When - then)
Ruby Cucumber,
Java FitNesse ,
Python RoboFramework,
C# specflow nspec
.NET里的行为驱动开发
越来越多人把行为驱动开发(BDD)看作实施测试驱动开发的另一种方式。SpecFlow和NSpec是.NET里比较流行的BDD框架。它们协助
- 介绍并扩展Fitnesse的测试模块化机制:ScenarioTable
FitNesse
摘要:在验收测试框架Fitneese中,使用Scenario可以把最常用的测试步骤封装起来,从而达到模块化定义Fitnesse测试用例的能力。但Scenario仅限于封装Script测试步骤,Script实例要先创建,然后才能调用;Scenario也不能封装Table。本文后半部分展示修改Fitneese代码,扩展Scenario的封装范围。
首先普及一下概念,什么是Fitnesse,听一听.N
- 扩展Fitnesse的ScriptTable:支持if-then
FitNesse
Fitnesse的ScriptTable只能顺序执行所有行,本博文介绍如何让ScriptTable支持if-then,来条件执行一行。
首先普及一下概念,什么是Fitnesse,听一听.NET版Cucumber的创始人Aslak Hellesøy谈Fitnesse与Cucumber对比:
FIT/Fitnesse和Cucumber都执行高级语言编写的验收测试。FIT仅识别H
- Fitnesse-20140630与RestFixture-3.1编译与运行步骤
FitNesse
为了能使RestFixture-3.1在Fitnesse-20140630中正确打印测试结果,准备修改RestFixture。
1.下载并编译Fitnesse-20140630
以下步骤以在64位Windows7电脑上编译为例,其他平台如Linux的编译步骤大同小异。 第一步:下载Fitnesse源代码
到 https://github.com/unclebob/fitnesse
- Fitnesse启动参数与配置
FitNesse
Fitnesse最新版20140630默认启动后,网页风格与 fitnesse.org 的Bootstrap风格完全不一致。 需要配置plugins.properties中的Theme=bootstrap,才能启动Bootstrap风格的Fitnesse。
启动Bootstrap风格的Fitnesse
从 fitnesse.org 下载最新版20140630的fitnesse
- 为Fitnesse-20140630定制RestFixture代码
FitNesse
摘要:Fitnesse插件RestFixture在最新版Fitnesse输出测试结果为html文本,而非html。本博文记录RestFixture定制代码的过程。
准备开发环境
假定你已经正确安装JDK, Eclipse, Ant, Maven,安装步骤可以参见博文:
http://www.cnblogs.com/fitnessefan/p/3895706.html Eclipse中
- Fitnesse+RestFixture:Web服务回归测试利器
FitNesse
RestFixture是Fitness的一个测试REST服务的插件,用于调用标准的http GET/POST等请求方法,并可以用XPath语法和Javascript语法检验http响应。本文介绍安装运行RestFixture的步骤,并给出测试用例示例。
首先普及一下概念,什么是Fitnesse,听一听.NET版Cucumber的创始人Aslak Hellesøy
- 学习如何利用FitNesse解决开发质量方面的问题
FitNesse
摘要
本文描述了如何使用开源的FitNesse来实现真正的测试先行开发过程,并让客户、需求提报工程师、开发人员、以及测试人员进行协同工作,达到需求更精准、减少需求更改、测试数据与Junit单元测试代码分离的目的,让这一切更简洁、更易于维护。
作者:Stephan Wiesner
译者:陈海青(joson)
在过去的几年里,我在开发测试工作中担任过各种角色,使用过服务器端的Ja
- [ZZ]为什么传统的自动化测试工具会扼杀敏捷?
自动化测试
作者 Mike Bria译者 郑柯 发布于 2008年5月7日 上午11时35分
社区
Agile
主题
软件测试,
敏捷技术
标签
Fit/Fitnesse,
测试,
测试驱动开发
最近,关于下一代功能测试工具发展方向的讨论
- Webservice 自动化测试
疯子阳
一、需求工作中因为牵涉到很多的webservice接口,用传统的junit做测试满足不了接口这块的需求,所以引入一个自动化的测试框架尤为重要,在网上找了两天,发现fitnesse应该是个不错的选择。二、选择过程三、结果fitnesse代码地址:http://github.com/unclebob/fitnesseMAVEN库地址:
org.fitnesse
fitnesse
20150814
四
- 持续集成CI(三)待具体实践
wodeyijia911
参考测之重器-Fitnesse自动化测试框架搭建指南: http://www.ituring.com.cn/minibook/10775自动化测试框架搭建指南视频课程: http://edu.51cto.com/course/course_id-3386.html
- XebiaLabs TestView整合了多种测试工具
Abel Avram
测试管理和分析工具XebiaLabsTestView,整合了测试执行、数据分析和多种功能测试及单元测试工具的可视化。TestView支持众多的测试工具和测试结果格式,包括Selenium、FitNesse、Cucumber、Cucumber.js、JUnit、Appium、JMeter、Gatling和TestNG。集成了Jenkins的TestView在特定测试执行完后还可将测试结果推送到Tes
- LeetCode[Math] - #66 Plus One
Cwind
javaLeetCode题解AlgorithmMath
原题链接:#66 Plus One
要求:
给定一个用数字数组表示的非负整数,如num1 = {1, 2, 3, 9}, num2 = {9, 9}等,给这个数加上1。
注意:
1. 数字的较高位存在数组的头上,即num1表示数字1239
2. 每一位(数组中的每个元素)的取值范围为0~9
难度:简单
分析:
题目比较简单,只须从数组
- JQuery中$.ajax()方法参数详解
AILIKES
JavaScriptjsonpjqueryAjaxjson
url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。
type: 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持。
timeout: 要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局
- JConsole & JVisualVM远程监视Webphere服务器JVM
Kai_Ge
JVisualVMJConsoleWebphere
JConsole是JDK里自带的一个工具,可以监测Java程序运行时所有对象的申请、释放等动作,将内存管理的所有信息进行统计、分析、可视化。我们可以根据这些信息判断程序是否有内存泄漏问题。
使用JConsole工具来分析WAS的JVM问题,需要进行相关的配置。
首先我们看WAS服务器端的配置.
1、登录was控制台https://10.4.119.18
- 自定义annotation
120153216
annotation
Java annotation 自定义注释@interface的用法 一、什么是注释
说起注释,得先提一提什么是元数据(metadata)。所谓元数据就是数据的数据。也就是说,元数据是描述数据的。就象数据表中的字段一样,每个字段描述了这个字段下的数据的含义。而J2SE5.0中提供的注释就是java源代码的元数据,也就是说注释是描述java源
- CentOS 5/6.X 使用 EPEL YUM源
2002wmj
centos
CentOS 6.X 安装使用EPEL YUM源1. 查看操作系统版本[root@node1 ~]# uname -a Linux node1.test.com 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [root@node1 ~]#
- 在SQLSERVER中查找缺失和无用的索引SQL
357029540
SQL Server
--缺失的索引
SELECT avg_total_user_cost * avg_user_impact * ( user_scans + user_seeks ) AS PossibleImprovement ,
last_user_seek ,
 
- Spring3 MVC 笔记(二) —json+rest优化
7454103
Spring3 MVC
接上次的 spring mvc 注解的一些详细信息!
其实也是一些个人的学习笔记 呵呵!
- 替换“\”的时候报错Unexpected internal error near index 1 \ ^
adminjun
java“\替换”
发现还是有些东西没有刻子脑子里,,过段时间就没什么概念了,所以贴出来...以免再忘...
在拆分字符串时遇到通过 \ 来拆分,可是用所以想通过转义 \\ 来拆分的时候会报异常
public class Main {
/*
- POJ 1035 Spell checker(哈希表)
aijuans
暴力求解--哈希表
/*
题意:输入字典,然后输入单词,判断字典中是否出现过该单词,或者是否进行删除、添加、替换操作,如果是,则输出对应的字典中的单词
要求按照输入时候的排名输出
题解:建立两个哈希表。一个存储字典和输入字典中单词的排名,一个进行最后输出的判重
*/
#include <iostream>
//#define
using namespace std;
const int HASH =
- 通过原型实现javascript Array的去重、最大值和最小值
ayaoxinchao
JavaScriptarrayprototype
用原型函数(prototype)可以定义一些很方便的自定义函数,实现各种自定义功能。本次主要是实现了Array的去重、获取最大值和最小值。
实现代码如下:
<script type="text/javascript">
Array.prototype.unique = function() {
var a = {};
var le
- UIWebView实现https双向认证请求
bewithme
UIWebViewhttpsObjective-C
什么是HTTPS双向认证我已在先前的博文 ASIHTTPRequest实现https双向认证请求
中有讲述,不理解的读者可以先复习一下。本文是用UIWebView来实现对需要客户端证书验证的服务请求,网上有些文章中有涉及到此内容,但都只言片语,没有讲完全,更没有完整的代码,让人困扰不已。但是此知
- NoSQL数据库之Redis数据库管理(Redis高级应用之事务处理、持久化操作、pub_sub、虚拟内存)
bijian1013
redis数据库NoSQL
3.事务处理
Redis对事务的支持目前不比较简单。Redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令。当一个client在一个连接中发出multi命令时,这个连接会进入一个事务上下文,该连接后续的命令不会立即执行,而是先放到一个队列中,当执行exec命令时,redis会顺序的执行队列中
- 各数据库分页sql备忘
bingyingao
oraclesql分页
ORACLE
下面这个效率很低
SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM IPAY_RCD_FS_RETURN order by id desc) A ) WHERE RN <20;
下面这个效率很高
SELECT A.*, ROWNUM RN FROM (SELECT * FROM IPAY_RCD_
- 【Scala七】Scala核心一:函数
bit1129
scala
1. 如果函数体只有一行代码,则可以不用写{},比如
def print(x: Int) = println(x)
一行上的多条语句用分号隔开,则只有第一句属于方法体,例如
def printWithValue(x: Int) : String= println(x); "ABC"
上面的代码报错,因为,printWithValue的方法
- 了解GHC的factorial编译过程
bookjovi
haskell
GHC相对其他主流语言的编译器或解释器还是比较复杂的,一部分原因是haskell本身的设计就不易于实现compiler,如lazy特性,static typed,类型推导等。
关于GHC的内部实现有篇文章说的挺好,这里,文中在RTS一节中详细说了haskell的concurrent实现,里面提到了green thread,如果熟悉Go语言的话就会发现,ghc的concurrent实现和Go有点类
- Java-Collections Framework学习与总结-LinkedHashMap
BrokenDreams
LinkedHashMap
前面总结了java.util.HashMap,了解了其内部由散列表实现,每个桶内是一个单向链表。那有没有双向链表的实现呢?双向链表的实现会具备什么特性呢?来看一下HashMap的一个子类——java.util.LinkedHashMap。
- 读《研磨设计模式》-代码笔记-抽象工厂模式-Abstract Factory
bylijinnan
abstract
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* Abstract Factory Pattern
* 抽象工厂模式的目的是:
* 通过在抽象工厂里面定义一组产品接口,方便地切换“产品簇”
* 这些接口是相关或者相依赖的
- 压暗面部高光
cherishLC
PS
方法一、压暗高光&重新着色
当皮肤很油又使用闪光灯时,很容易在面部形成高光区域。
下面讲一下我今天处理高光区域的心得:
皮肤可以分为纹理和色彩两个属性。其中纹理主要由亮度通道(Lab模式的L通道)决定,色彩则由a、b通道确定。
处理思路为在保持高光区域纹理的情况下,对高光区域着色。具体步骤为:降低高光区域的整体的亮度,再进行着色。
如果想简化步骤,可以只进行着色(参看下面的步骤1
- Java VisualVM监控远程JVM
crabdave
visualvm
Java VisualVM监控远程JVM
JDK1.6开始自带的VisualVM就是不错的监控工具.
这个工具就在JAVA_HOME\bin\目录下的jvisualvm.exe, 双击这个文件就能看到界面
通过JMX连接远程机器, 需要经过下面的配置:
1. 修改远程机器JDK配置文件 (我这里远程机器是linux).
 
- Saiku去掉登录模块
daizj
saiku登录olapBI
1、修改applicationContext-saiku-webapp.xml
<security:intercept-url pattern="/rest/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<security:intercept-url pattern=&qu
- 浅析 Flex中的Focus
dsjt
htmlFlexFlash
关键字:focus、 setFocus、 IFocusManager、KeyboardEvent
焦点、设置焦点、获得焦点、键盘事件
一、无焦点的困扰——组件监听不到键盘事件
原因:只有获得焦点的组件(确切说是InteractiveObject)才能监听到键盘事件的目标阶段;键盘事件(flash.events.KeyboardEvent)参与冒泡阶段,所以焦点组件的父项(以及它爸
- Yii全局函数使用
dcj3sjt126com
yii
由于YII致力于完美的整合第三方库,它并没有定义任何全局函数。yii中的每一个应用都需要全类别和对象范围。例如,Yii::app()->user;Yii::app()->params['name'];等等。我们可以自行设定全局函数,使得代码看起来更加简洁易用。(原文地址)
我们可以保存在globals.php在protected目录下。然后,在入口脚本index.php的,我们包括在
- 设计模式之单例模式二(解决无序写入的问题)
come_for_dream
单例模式volatile乱序执行双重检验锁
在上篇文章中我们使用了双重检验锁的方式避免懒汉式单例模式下由于多线程造成的实例被多次创建的问题,但是因为由于JVM为了使得处理器内部的运算单元能充分利用,处理器可能会对输入代码进行乱序执行(Out Of Order Execute)优化,处理器会在计算之后将乱序执行的结果进行重组,保证该
- 程序员从初级到高级的蜕变
gcq511120594
框架工作PHPandroidhtml5
软件开发是一个奇怪的行业,市场远远供不应求。这是一个已经存在多年的问题,而且随着时间的流逝,愈演愈烈。
我们严重缺乏能够满足需求的人才。这个行业相当年轻。大多数软件项目是失败的。几乎所有的项目都会超出预算。我们解决问题的最佳指导方针可以归结为——“用一些通用方法去解决问题,当然这些方法常常不管用,于是,唯一能做的就是不断地尝试,逐个看看是否奏效”。
现在我们把淫浸代码时间超过3年的开发人员称为
- Reverse Linked List
hcx2013
list
Reverse a singly linked list.
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
p
- Spring4.1新特性——数据库集成测试
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- C# Ajax上传图片同时生成微缩图(附Demo)
liyonghui160com
1.Ajax无刷新上传图片,详情请阅我的这篇文章。(jquery + c# ashx)
2.C#位图处理 System.Drawing。
3.最新demo支持IE7,IE8,Fir
- Java list三种遍历方法性能比较
pda158
java
从c/c++语言转向java开发,学习java语言list遍历的三种方法,顺便测试各种遍历方法的性能,测试方法为在ArrayList中插入1千万条记录,然后遍历ArrayList,发现了一个奇怪的现象,测试代码例如以下:
package com.hisense.tiger.list;
import java.util.ArrayList;
import java.util.Iterator;
- 300个涵盖IT各方面的免费资源(上)——商业与市场篇
shoothao
seo商业与市场IT资源免费资源
A.网站模板+logo+服务器主机+发票生成
HTML5 UP:响应式的HTML5和CSS3网站模板。
Bootswatch:免费的Bootstrap主题。
Templated:收集了845个免费的CSS和HTML5网站模板。
Wordpress.org|Wordpress.com:可免费创建你的新网站。
Strikingly:关注领域中免费无限的移动优
- localStorage、sessionStorage
uule
localStorage
W3School 例子
HTML5 提供了两种在客户端存储数据的新方法:
localStorage - 没有时间限制的数据存储
sessionStorage - 针对一个 session 的数据存储
之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不