随笔分类 - JavaScript
摘要:网上不少方案,包括:jsonp(最常用)iframe(限于同根域)swf辅助代理script标签在这里特别尝试了一下最后一种方案。分别配置了www.a.com和www.b.comwww.a.com中index.html代码:?1234567891011// javascript 部分<script type="text/javascript">$(function () {var script = document.createElement("script");script.src = "http://www.b.com/scri
阅读全文
摘要:由于安全方面的考虑,Javascript被限制了跨域访问的能力,但是有时候我们希望能够做一些合理的跨域访问的事情,那么怎么办呢?这里分两类情况:一、基于同一父域的子域之间页面的访问;参见如下3个domain域:taobao.com、jipiao.taobao.com、promotion.taobao.com;它们有相同的父域taobao.com。二、基于不同父域页面之间的访问;参见如下3个domain域:taobao.com、baidu.com、sina.com.cn;它们具有不同的父域。解决它们之间跨域的方案有:方案1:服务器Proxy域A的页面JS需要访问域B下的链接获取数据,该方案在域A
阅读全文
摘要:我最近在用 uploadify + ashx 来做文件上传的功能。都测试成功了,但是发现我可以提交到其他的网站里面。我是在本地测试了。两个网站,IP地址相同,使用端口来区分。一个端口是8001,另一个是8002 。两个网站都有上传文件的程序,我发现,如果我把8001端口的站点的'script': '/_CommonPage/UploadHandler.ashx',改成'script': 'http://192.168.0.1:8002/_CommonPage/UploadHandler.ashx',居然也能够成功上传文件,传到了8
阅读全文
摘要:JQuery1.2后getJSON方法支持跨域读取json数据,原理是利用一个叫做jsonp的概念。当然,究其本质还是通过script标签动态加载js,似乎这是实现真正跨域的唯一方法。getJSON的用法JQuery手册已经写得很详细,参考手册就可以了,很简单。需要指出的一点是getJSON利用的jsonp需要客户端与服务端作出配合。客户端传递的URL里要包含callback变量,以形如callback=?的形式结尾。(jquery会随机生成一个字符串替换?传递给服务端)服务端获取客户端传递的callback的值callbackValue,和需要传递的json字符串构成 callbackVal
阅读全文
摘要:想必很多朋友都知道,<select />、<input type="file" />默认是不能通过样式美化的。前几天在做一个项目的时候恰巧要用到一个select,并想通过样式美化它。于是在博客园里找了一下相关的解决办法,还好找到了一段比较满意的js。经过修改,现在可以兼容各大浏览器,并完全模仿<select />来实现相关功能。 先看看实现的效果: 实现原理: 模访select的外观,用js再构造一个"select"。原始的select html代码如:原始Html<!DOCTYPE html PUBLIC &q
阅读全文
摘要:* $("*") 所有元素#id $("#lastname") id=lastname 的元素.class $(".intro") 所有 class="intro" 的元素element $("p") 所有 <p> 元素.class.class $(".intro.demo") 所有 class="intro" 且 class="demo" 的元素:first $("p:first") 第一个 <p
阅读全文
摘要:方法 描述ready() 文档就绪事件(当 HTML 文档就绪可用时)blur() 触发、或将函数绑定到指定元素的 blur 事件change() 触发、或将函数绑定到指定元素的 change 事件click() 触发、或将函数绑定到指定元素的 click 事件dblclick() 触发、或将函数绑定到指定元素的 double click 事件error() 触发、或将函数绑定到指定元素的 error 事件focus() 触发、或将函数绑定到指定元素的 focus 事件keydown() 触发、或将函数绑定到指定元素的 key down 事件keypress() 触发、或将函数绑定到指定元素的
阅读全文
摘要:$(document).keydown(function(event) { if (event.keyCode == 13) { $('form').each(function() { //你的要运行的代码 }); }});
阅读全文
摘要:说明:最近做了一个功能,记录用户浏览过的产品页面。我的思路是,客户每次进入产品页面,就自己调用JS把产品信息以json的形式保存到cookie里面。浏览记录的显示是从cookie里读出来,然后解析成json,生成html元素。因为用户可能会同时打开好几个页面,这几个页面上可能都有浏览记录,为了使即使显示浏览记录,每秒中刷新一次。要用到2个js文件,history.js,关键的聊天记录保存和读取代码。json.js,对json进行处理。history.jsvar addHistory=function(num,id){ stringCookie=getCookie('history
阅读全文
摘要:准备工作 1、想好要把select美化成什么样子,并准备好相应的图片。 2、写好一个普通的表单递交页面,注意给select定义基本的CSS样式、在头部添加了调用js文件的代码、在body中添加了调用函数的脚本。 实现思路 第一步:将表单中的select隐藏起来。 第二步:用脚本找到select标签在网页上的绝对位置。 第三步:用脚本把select标签中的值读出来。 第四步:当用户点击select标签的替身,也就是div的时候。我们再用一个div浮在上一个div的下边,这个就是options的替身了。 功能需求 1、调用要方便,做好之后应该像这样:以下是引用片段:functio...
阅读全文
摘要:首先介绍一下Nodejs,他是一个运行在服务端的JS,支持高并发、长链接。官网:http://nodejs.org1.安装wgethttp://nodejs.org/dist/node-v0.1.32.tar.gztar xzvf node-v0.1.32.tar.gzcd node-v0.1.32./configuremakemake install安装完之后有可能没在/usr/bin目录下,就不能在任何一个目录下使用node命令,所以你需要软链接一个nodeln -snode /usr/bin/node这样操作之后,你在任何一下目录下都可以执行node命令了。2.开始第一个NodeJs程序
阅读全文
摘要:在客户端编程语言中,如javascript和ActionScript,同源策略是一个很重要的安全理念,它在保证数据的安全性方面有着重要的意义。同源策略规定跨域之间的脚本是隔离的,一个域的脚本不能访问和操作另外一个域的绝大部分属性和方法。那么什么叫相同域,什么叫不同的域呢?同源策略在客户端编程语言中,如javascript和ActionScript,同源策略是一个很重要的安全理念,它在保证数据的安全性方面有着重要的意义。同源策略规定跨域之间的脚本是隔离的,一个域的脚本不能访问和操作另外一个域的绝大部分属性和方法。那么什么叫相同域,什么叫不同的域呢?当两个域具有相同的协议(如http),相同的端口
阅读全文
摘要:在JavaScript开发中,被人问到:null与undefined到底有啥区别?一时间不好回答,特别是undefined,因为这涉及到undefined的实现原理。于是,细想之后,写下本文,请各位大侠拍砖。总所周知:null == undefined 但是:null !== undefined 那么这两者到底有啥区别呢?null这是一个对象,但是为空。因为是对象,所以 typeof null 返回 'object' 。null 是 JavaScript 保留关键字。null 参与数值运算时其值会自动转换为 0 ,因此,下列表达式计算后会得到正确的数值:表达式:123 + nu
阅读全文
摘要:Web开发很简单,Web应用的UI开发却很复杂,如果能够利用一些成熟的UI框架可以大大的减少开发的复杂度。本文向你介绍5款界面效果很不错的JS框架。1. ExtJSExtJS主要用来开发RIA富客户端的AJAX应用,主要用于创建前端用户界面,与后台技术无关的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。ExtJs最开始基于YUI技术,由开发人员JackSlocum开发,通过参考JavaSwing等机制来组织可视化组件,无论从UI界面上CSS样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品。授权协议
阅读全文
摘要:从这篇起,会由浅到深的分析js OO之写类方式,大概会有5-8篇。后面陆续会分析流行库(框架)的写类方式。为了讨论的单一性,暂不考虑类的继承,(私有,受保护)属性或方法。EMCA262规范中没有类(class)的概念,js的new只是让他看起来更像c++,java一点。这里说的写类,只是书写js代码风格而已。1、构造函数方式 1 /** 2 * Person类:定义一个人,有个属性name,和一个getName方法 3 * @param {String} name 4 */ 5 function Person(name) { 6 this.name = name; 7 this.getName
阅读全文
摘要:1 window.location.href="1.html"2 //在IE下不工作的时候,加上3 window.event.returnValue=false;4 //应该就可以了。
阅读全文
摘要:引言: 就如我前面提到的,对于NodeJS这一服务端JS所思考的一些问题,”这样的东西,适用于什么样的场景下?相对于传统的服务端方式来说,它又有什么优势呢?“内容: 今天特意请教了一下,上次在淘宝分享的那个讲师,也提了一些相关的问题,希望也能给大家解决一些相同的疑惑。问题一:服务端JS的实现,和我们传统的服务端实现相比,优势在哪里呢?答:从几个方面看1、和传统的服务端脚本语言, 原生的非阻塞io,能够很大程度上提高并发负载能力2、对于java,c等直接开发的非阻塞服务,在开发效率和成本上要更胜出.3、从语言特性上讲,js语言本身对事件机制由很好的支持,问题二:对于第二点中的开发效率和成本,具体
阅读全文
摘要:引言:继前面的NodeJS的Hello,World!我们还可以看到其他强大之处,NodeJS现在社区的火热,以及大批工程师对它的支持之下,现在已经陆续的引出了大量的module出来了。内容:下面这个所演示的是NodeJS与Mysql 的交互。这时需要为NodeJS加入Mysql 的Module了,这时前一章说到的npm(Node package manager)启到作用了。 把Mysql Module装到NodeJS中Js代码$npminstallMysql JS脚本 mysqlTest.jsJs代码//mysqlTest.js//加载mysqlModulevarClient=require(
阅读全文
摘要:什么是NodeJS? 第一次看到这个名字,是我在报名淘宝的知识分享时看到的,我很兴奋也很好奇这样的一个JS框架。而你看到这个名字的第一个反应会是什么,是否和我一样的简单的以为它就是一个JS框架?反正我是这么认为了。如果你也是,哈哈,看来也是和我一样单纯。 在去听分享前,我特意google了相关资料来了解,不禁使我吓一大跳,或许是我刚出校园,视野太窄,远没有想过JS脚本从可以从客户端的浏览器转移到了 服务器上。当然,我不是很明白,这样做达到了一个什么样的好处。简单地说,NodeJS是一个使用了Google高性能V8 引擎 的服务器端JavaScript实现。它提供了一个(几乎)完全非阻塞I/O栈
阅读全文
摘要:从去年年底写下第一行代码,一晃眼半年多时间过去了。从狭义上讲,seajs 是一个纯粹的模块加载器,并且聚焦于浏览器端。基本功能概述如下:seajs 推崇一个模块一个文件的代码组织方式,任何模块都遵循统一的模块书写格式。模块通过require获取依赖接口,通过exports向外提供接口。seajs 加载模块,会自动处理依赖关系,使用异步并行的方式下载文件。最核心的功能就上面这些。作为模块加载器,seajs 的理念是:如无必要,勿增实体。官方网站:http://seajs.com/英文文档:http://seajs.com/docs/中文文档:http://seajs.com/docs/zh-cn
阅读全文
浙公网安备 33010602011771号