javascript对象属性get/set读取设置器

  标准浏览器和IE9+,javascript对象支持如面向对象语言的属性get(获取属性值)/set(设置属性值)设置器。示例代码如下script var o = {get Version(){return this.version;},set Version(v){this.version=v}} o.version='2.0'; alert(o.version)/script  浏览器支持FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafariBasic support12.0 (1.8.1)99
http://www.w3dev.cn/article/20150112/javascript-object-get-set-attribute.aspx

javascript动态插入,修改,删除DOM对象触发的事件

  javascript动态插入,修改,删除DOM对象时会触发哪些事件?  在firefox, webkit中可以使用DOMNodeInsertedIntoDocument事件监听DOM对象的插入事件,但这个事件很快要废弃了,虽然浏览器还是很有节操地支持它们,但哪一天不再支持DOMNodeInsertedIntoDocument事件也很难说。比如说firefox22已经不支持了,IE则始终不支持此事件。  这里有个脚本,可以判定浏览器是否支持变动事件var mutations = (function (document) { // (C) WebReflection - Mit Styl
http://www.w3dev.cn/article/20141208/html-dom-object-inserted-update-remove-event.aspx

easyui datagrid datailview使用子表格后数据不对齐解决办法

  easyui datagrid datailview,当dataview加载的是datagrid对象,子datagrid使用ajax异步加载数据时,前面的展开符号列高度没有变化,导致内容和前面的内容无法对齐,如下图所示  而实际效果应该如下图解决办法:增加onLoadSuccess事件重设前面展开部分的高度,因为展开部分和内容是分开的。var columns = [[{ field: 'TestPoint_ID', title: '测试点编号', width: 25, hidden: 'true' }, { field: 'Req_S
http://www.w3dev.cn/article/20141113/easyui-datagrid-datailview-use-sub-datagrid-not-align.aspx

Ext5 Ext.data.proxy.Memory客户端数据分页示例

测试无法分页,不知道是不是bug proxy: new Ext.data.MemoryProxy({ data: data, reader: { type: 'json' }, enablePaging: true }) }); //手动加载数据,如其他ajax返回的json数据,调用loadRawData方法,不能分页,会直接显示全部记录 //点击上下页会无法显示记录。。。⊙﹏⊙b汗。经测试要正常分页只能使用上面的方法。不知道怎么破。。。还是bug?。。 /*var store = Ext.create('Ext.data.Sto
http://www.w3dev.cn/article/20141112/Ext5-Ext.data.proxy.Memory-paging-local-data.aspx

配置chrome支持本地(file协议)ajax请求

-files ,这样本地ajax请求就不会报跨域错误了。(注意如果给chrome添加多个启动参数,每个启动参数--之前要有空格隔开,如C:\Program Files\Google\Chrome\Application\chrome.exe --enable-file-cookies --allow-file-access-from-files)增加启动参数后,需要关闭所有的已经打开的chrome,然后再通过添加参数的快捷方式打开chrome,将html拖进chrome浏览器中运行才行,要不启动参数无效。  如何添加chrome启动参数以便支持file协议下的ajax请求,具体看这个:chr
http://www.w3dev.cn/article/20141031/file-protocol-config-chrome-support-ajax-request.aspx

div模拟select左右移动效果

  div模拟select option对象左右移动效果,同时增加右边货物自动增加效果。  源代码如下script type=text/javascript src=http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js/scriptstylea{text-decoration:none}.select{overflow:auto;width:100px;height:120px;float:left;border:solid 1px #ccc;line-height:20px; -moz-user-select: none;-we
http://www.w3dev.cn/article/20141028/div-simulate-select-option-move.aspx

异步ajax请求如何控制执行循序

  ajax多个请求时,如果下一次请求依赖上一次的请求结果,或者希望能按照请求循序先后返回,而不是乱序返回,需要自己写代码控制ajax的执行循序,而不是for或者jquery的each并发发起ajax请求,这样无法控制ajax的返回循序。当然如果你不想用异步请求,改为同步请求可以控制for,each的并发ajax请求返回循序,但是对于jsonp这种只能异步加载的数据,async配置并没有效果。  解决办法:自己写逻辑控制ajax的执行循序,在上一次请求结束后再继续发送下一次的请求,做递归调用。不过有个问题,对于jsonp,如果动态页出错,会导致不会触发success/error,后续的请求无法
http://www.w3dev.cn/article/20141022/ajax-async-request-control-execute-sequence.aspx

chrome扩展获取页面dom对象信息

rome.extension.onRequest这2个对象在版本的chrome中将被废弃,使用chrome.runtime.sendMessage和chrome.runtime.onMessage代替。   由于本人的chrome版本为25,好像没有支持chrome.runtime对象,chrome.runtime为undefined(据说 chrome.runtime 对象chrome22+就支持了。搞毛。。?),懒得升级chrome,所以就没用chrome.runtime对象。  所以如果chrome扩展出错没有效果,可能是这2个对象的问题。  源代码压缩包下载:chrome扩展获取百度
http://www.w3dev.cn/article/20140703/chrome-extension-get-tab-page-dom.aspx

JSON.stringify日期对象Date被转为国际标准时间

ngify将对象转为对应的字符串时,如果包含时间对象,时间对象会被转换为国家标准时间(ISO),而不是当前国家区域的时间,测试代码如下script //var o = new Date(); //console.log(o.toString())//中国时区时间,格式如Wed Jun 11 2014 10:51:42 GMT+0800 //console.log(JSON.stringify(o)); //输出国际标准时间(ISO),减少了8个小时 格式如2014-06-11T02:51:42.624Z/script  要想JSON.stringify转换日期对象Date返回
http://www.w3dev.cn/article/20140611/JSON.stringify-Date-how-to-convert-to-local-timezone.aspx

jquery jsonp请求asp.net webservice

  使用jquery的jsonp请求asp.net的webservice时,由于webservice一般返回的数据格式为xml或者只包含一个d属性的json(设置ajax请求的contentType为application/json)对象,具体参考:jquery webservice。  如果想指定jquery的ajax为jsonp请求,需要调用Response对象输出原始的内容,调用的方法返回值申明为void。示例代码如下,注意asp.net的webservice要配置允许get/post访问。web.config增加system.web protocols
http://www.w3dev.cn/article/20140609/jquery-jsonp-asp.net-webservice.aspx

百度UEditor编辑器API文档

election.js, plugins/serialize.js编辑器主类,包含编辑器提供的大部分公用接口EditorUEditor编辑器类创建一个跟编辑器实例container 编辑器容器对象iframe 编辑区域所在的iframe对象window 编辑区域所在的windowdocument 编辑区域所在的document对象body 编辑区域所在的body对象selection 编辑区域的选区对象 readyeditor.ready(fn) fn是当编辑器渲染好后执行的function当编辑器ready后执行传入的fn,如果编辑器已经完成ready,就马上执行fn,fn的中的this是
http://www.w3dev.cn/article/20140404/ueditor-API-document.aspx

easyui datagrid数据导出excel文件示例

on/vnd.ms-excel;base64,协议导出excel文件(如ie),改为直接表单提交生成的excel文件内容,而不是用ajax动态发送,这样服务器端不需要生成临时文件,造成服务器端磁盘空间浪费。如果要永久保留,自己可以选择使用ajax或普通表单提交。  easyui datagrid数据导出excel文件示例,首页由于安全问题,是否无法直接在客户端生成excel文件的,需要搭建服务器,将插件生成的excel文件需要的内容发送到动态页,动态页使用io对象将内容写入xls文件来导出。  首先要导入datagrid的扩展方法,用于将当前的数据生成excel需要的内容。script
http://www.w3dev.cn/article/20140403/easyui-datagrid-import-to-excel.aspx

asp操作json对象示例

  本示例通过服务器端的JScript作为桥接,实现vbscript通过json字符生成对应的JSON对象。script language=JScript runat=Server//注意不同格式的JSON格式的字符串调用不同的方法 function toObject(json) {//JSON对象格式的字符串 eval(var o= + json); return o; } function toArray(s) {//JSON对象数组格式的字符串 var dic = Server.CreateObject(Scripting.D
http://www.w3dev.cn/article/20140311/asp-use-json-object-demo.aspx

ajax getResponseHeader获取中文响应头

  如果页面响应头中包含中文内容,ajax请求的页面和被请求的页面即使编码统一,不同浏览器下表现的方式还是会不一样,firefox/IE下出现乱码,chrome可以正常调用getResponseHeader获取到中文的响应头内容。  要解决这个问题,可以将中文进行编码后在设置为响应头内容,这样ajax调动getResponseHeader获取内容后,在客户端解码下就不会出现乱码了,示例代码如下%@ Page Language=C# %script runat=server protected void Page_Load(object sender, EventArgs e) {
http://www.w3dev.cn/article/20140307/ajax-getResponseHeader-get-chinese.aspx

Range对象中文API

Rect 列表对象聚合 Element.getClientRects() 结果,对所有的在range里面的元素Range.intersectsNode() 和指定节点对比,返回boolean值只是节点和range是否相交Range.isPointInRange() 返回boolean值指示某个点是否在range里面Range.setStart()设置range对象开始位置Range.setEnd()设置range对象结束位置Range.setStartBefore()设置一个range对象的起始位置在参考节点之前Range.setStartAfter()设置一个range对象的起始位置在参
http://www.w3dev.cn/article/20140210/range-cn-API.aspx

selection对象中文API

ection();window.alert(selObj);小提示:将selection对象作为alert方法的参数,将会自动调用对象的toString方法。其实只要是对象都会调用到toString方法。词汇表本章中使用到的词汇介绍。anchorselection对象的锚(anchor)代表selection的起始点。 当通过鼠标生成selection对象,anchor就是鼠标第一次点击文档的地方,当用户通过鼠标或者键盘修改selection,anchor不会移动(改变)。focus为selection对象的结束点(focus)。使用鼠标进行选择创建selection,selection的结束
http://www.w3dev.cn/article/20140209/selection-cn-API.aspx

简易flv播放器jquery.jflv.js

admeta http-equiv=Content-Type content=text/html; charset=gb2312 /title简易flv播放器jquery.jflv.js/titlescript type=text/javascript src=http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js/scriptscript type=text/javascript /***简易flv播放器,可用通过js控制flv播放,暂停。 *方法 *PlayFLV(url):播放flv文件。参数url
http://www.w3dev.cn/article/20140122/flv-player-control-by-js-jquery.jflv.js.aspx

javascript如何区分JSON对象或者[]数组

  对json对象或者数组[]执行typeof操作时,得到的内容都是object,这样就无法判断是否是json对象或者是[]申明的数组。script alert(typeof {})//object alert(typeof [])//object/script  如果你的json对象未定义length成员,可以通过length属性来区分变量是json还是数组,但是如果json申明过length为数字的变量,那就无法通过length属性来判断了,可以通过{}空json对象的toString.call方法改变对象的作用域为数组[],此时输出的内容为[object Array]scr
http://www.w3dev.cn/article/20140107/javascript-check-Variable-is-json-or-array.aspx

javascript变量json对象等到路径

rn _o.toString.call(o) == '[object Array]' } function RecursionJson(json, path) { var isArray = IsArray(json); //防止JSON对象定义了length对象,所以判断数组不要通过对象的length属性判断 for (var attr in json) if (typeof json[attr] == 'object') { if (IsArray(json[attr]))
http://www.w3dev.cn/article/20140107/javascript-Iteration-json-get-path.aspx

获取Ext Tree/TreeStore加载的原始JSON数据

t的Tree对象或者TreeStore加载的数据源转换为原始的json对象。如果对tree对象节点增加删除后,需要保存结果到服务器的json文件中,而不是数据库,可以将递归遍历TreeStore获取原始数据并重建对应的JSON对象。  获取Ext Tree/TreeStore加载的原始JSON数据源代码如下,测试通过版本:ext-4.1.1a(ext4-没有Ext.data.NodeInterface接口,代码不兼容Ext4-一下版本的) function buildJSONStruct(childNodes) {//递归遍历NodeInterface生成json对象
http://www.w3dev.cn/article/20131219/Serialize-Ext-Tree-TreeStore-To-raw-Json-Data.aspx

Ext4 TreeGrid使用xml作为数据源示例

  TreeGrid要使用XML作为数据源,有2种方法。 第一种:首先用Ext.ajax请求xml文件,然后自己写解析方法,通过Ext.data.NodeInterface动态向treestore中添加嵌套数据,最后在再生成treegrid对象。 第二种:参考xml-tree.html这个示例,将treegrid的节点动态加载,不过既然通过动态页生成数据,还不如直接用动态页处理xml文件成需要的json数据来的简单。 下面为第一种方法的源代码,效果如下test.html!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01//EN http://www.w3.or
http://www.w3dev.cn/article/20131213/Ext-treegrid-use-xml-as-datasource.aspx

扑克牌翻牌效果jquery插件

动态页地址   1)字符串数组本地测试用   2)动态页地址为实际应用使用,需要保存结果到数据库,然后返回扑克牌图片地址,通过ajax调用动态页得到扑克牌图片地址*/ $.fn.flipPoker = function (config) { //修改自:http://jankerli.com/example/flipPoker/ //修改成jquery对象方法by showbo,http://www.w3dev.cn/,使用请注明出处 var style = document.crea
http://www.w3dev.cn/article/20131212/flip-poker-jquery-plugin.aspx

jquery ajaxStart不响应注意事项

  使用jquery的ajax方法ajaxStart,ajaxComplete,ajaxError,ajaxSend,ajaxStart,ajaxStop,ajaxSuccess注册事件,如果没有执行,没反应,请注意你使用的jquery版本,jquery1.8+版本这些方法只能注册事件到document对象上,注册到其他对象上无法响应。As of jQuery 1.8, the .ajaxStart() method should only be attached to document.http://api.jquery.com/ajaxStart/
http://www.w3dev.cn/article/20131206/jquery-ajaxStart-does-not-Response.aspx

获取kindeditor编辑器iframe对象

#39;, { allowFileManager: true, filterMode: false }); var iframe = editor.edit.iframe.get(); //此时为iframe对象 var iframe_body = iframe.contentWindow.document.body; //iframe对象中的body对象,可以通过此对象获取子节点 var imgs = iframe_body.getElementsByTagName('img');//获取iframe body中加载的所有img对象});
http://www.w3dev.cn/article/20131205/get-kindeditor-iframe-dom-object.aspx

asp file对象属性和方法

File 对象  File 对象用于返回有关指定文件的信息。  如需操作 File 对象的相关属性和方法,我们需要通过 FileSystemObject 来创建 File 对象的实例。首先,创建一个 FileSystemObject 对象,然后通过 FileSystemObject 对象的 GetFile 方法,或者通过 Folder 对象的 Files 属性来例示此 File 对象。File 对象的属性和方法属性属性描述Attributes设置或返回指定文件的属性。DateCreated返回指定文件创建的日期和时间。DateLastAccessed返回指定文件最后被访问的日期和时间。Date
http://www.w3dev.cn/article/20131122/asp-file-object-attributes-methods.aspx

asp时间戳和时间对象相互转换

  asp时间戳和时间对象相互转换源代码'把标准时间转换为UNIX时间戳Function ToUnixTime(strTime, intTimeZone) If IsEmpty(strTime) or Not IsDate(strTime) Then strTime = Now If IsEmpty(intTimeZone) or Not isNumeric(intTimeZone) Then intTimeZone = 0 ToUnixTime = DateAdd(h,-intTimeZone,strTime) ToUnixTime = DateDiff(s,
http://www.w3dev.cn/article/20131030/asp-timestap-date-Conversion.aspx

jqGrid单元格编辑select联动示例

' + rec.provid; //获取加载select的url配置,并且加上记录中的省id //获取联动select数据的ajax需要设置为同步,异步要处理的步骤比较多,如ajax未加载完又点击了其他单元格之类的,要还原之前的编辑状态 var s = 'selectoption value=NaN/option/select'; $.ajax({ async: false, url: url, dat
http://www.w3dev.cn/article/20130916/jqGrid-cell-edit-select-load-demo.aspx

Ext4 Ext.data.Model save方法示例

  Ext4+的Ext.data.Model实例新增了一个save方法,用于将此行数据发送到服务器进行保存。save参数为Ext.data.Operation,JSON对象,同时适用于proxy配置的参数都可以添加进去。  Ext4 Ext.data.Model save方法示例,store加载完毕后修改第一条记录的的age,然后调用save方法调用ajax发送此行的数据到服务器进行保存(注意:proxy中writer配置默认为json,经测试设置为xml无效,如何设置为键值对形式暂时没研究出来,O(_)O~)Ext.data.Model save方法是 4.0.0才新增的,注意Ext版本
http://www.w3dev.cn/article/20130916/Ext4-Ext.data.Model-save-demo.aspx

javascript选中对象

  javascript实现对象选中,选中指定的对象,javascript实现ctrl+all功能,兼容ie,firefox,chrome。  源代码如下//el:要选中的对象function selectText(el) { if( window.getSelection){ var s=window.getSelection() s.selectAllChildren( el ) }else{ var s= document.body.createTextRange (); s.moveToElementText (el);
http://www.w3dev.cn/article/20130910/javascript-select-dom-node.aspx

通过Access-Control-Allow-Origin控制允许ajax跨域请求的域名

lHost.Add(abc.com); #endregion string host = context.Request.UrlReferrer == null ? : context.Request.UrlReferrer.Host;//获取从哪个域名发送的ajax请求本页面或者是直接访问 if (lHost.Contains(host)) { //在允许的域名列表里面才添加Access-Control-Allow-Origin响应头 context.Response.AddHeader(Access-Co
http://www.w3dev.cn/article/20130830/ajax-cross-domain-request-control-by-Access-Control-Allow-Origin.aspx