随笔分类 - javascript
摘要:<div class="overlay"></div>.overlay{position: fixed; z-index: 100; width: 100%;height: 100%; top: 0;left: 0; filter: alpha(opacity=50);opacity: 0.3; overflow: hidden; background-color: #000;}
阅读全文
摘要:http://www.zeitoun.net/articles/comet_and_php/start
阅读全文
摘要:ajax跨域之JSONP事件背景:某个站点分为静态产品介绍页面(或由于某原因需要静态化),和一个独立的在线应用程序。静态产品页面属于www.a.com下,而在线应用程序作为一个相对独立的系统存在于app.a.com上。在www.a.com上需要显示在线应用程序(app.a.com)中用户的登录状态及简单的用户信息。由于需要实时的在静态页面中显示用户登录状态,在线应用程序提供了一个用户接口来输出当前用户的登录信息,静态页面采用ajax方式动态获取。问题在于www.a.com和app.a.com分属于不同子域,无法通过ajax直接进行通信。思路分析:由于同源策略的限制,XMLHttpRequest
阅读全文
摘要:ajax跨域之服务端代理事件背景:某系统A(A.com)对外提供一个邮件发送接口,可接收GET或POST方式传递参数(如email, subject, body等)数据。当某小系统b(b.com)需要使用到这个接口的功能时,并提供比较好的用户体验时,采取了通过ajax将用户填入的信息传递数据给这个接口,来实现发送邮件的目的。问题在于:某系统A和某小系统b分属于两个域名下,在物理和逻辑上都是互相独立和分离的,将无法发起ajax连接,IE下显示为无权限。思路分析:无法进行ajax连接,是因为浏览器安全模型的同源策略,存在跨域问题。同源策略阻止从一个源加载的文档或脚本获取或设置另一个源加载的文档的属
阅读全文
摘要:1.服务器端php代理 有A.com b.com 2个域名, 可以A.com 通过 ajax 代理代理导A.com/proxy.php ,proxy.php将接收到的数据通过curl传递到B.com 可参考http://www.impng.com/web-dev/ajax-crossdomain-by-proxy.html2.jsonp解决方法 可参考:http://www.impng.com/web-dev/ajax-crossdomain-by-jsonp.html3.jQuery jsonp的方法实现$("#btn").click(function(k){ //...
阅读全文
摘要:1.前、端后都要做好安全的把关工作 不能单靠前端做安全验证工作,后端也必须有过滤机制,检验前方传来的资料。由于Ajax也会接收后端传送来的资料,对这些资料都要采不信任态度,必须加以检查。 2.尽量以HTTP POST方法传输资料 使用GET方法容易让有心人士得到资料,虽然POST并非万无一失,但比起GET至少较为安全。 3.不要直接用eval函式唤起JSON物件 JSON是采用JavaScript物件实字的资料格式,从后端传到Ajax程式时,必须采用eval函式将它从字串转成物件,这时必须先行检查资料中是否有非法字元,以免非法程式借机启用。 4.限制使用者可用的HTML语法 许多Ajax网站允
阅读全文
摘要:真正的面向对象语言必须支持继承机制,即一个类能够重用(继承)另一个类的方法和属性。所有开发者定义的类都可作为基类,出于安全原因,本地类和宿主类不能作为基类。有时你可能想创建一个不能直接使用的基类,它只是用于给子类提供通用的函数,这种基数被看作抽象类。创建的子类将继承超类的所有属性和方法,包括构造函数及方法的实现。所有的属性和方法都是公用的,子类可直接访问这些方法,还可添加超类中没有的属性和方法,也可覆盖超类中的属性和方法。一、 继承的方式(1) 对象冒充:构造函数使用this关键字给所有属性和方法赋值(即采用声明的构造函数方式)。因为构造函数只是一个函数,所在可使ClassA的构造函数成为Cl
阅读全文
摘要:JavaScript 的第一条定律:将脚本放在底部。尽量少用<script>,将多个<script>中的代码合并到一个<script>中任何带有 defer 属性的<script>元素在 DOM 加载完成之前不会被执行,不论是内联脚本还是外部脚本文 件,都是这样动态脚本加载是非阻塞 JavaScript 下载中最常用的模式,因为它可以跨浏览器,而且简单易用将脚本成组打包。页面的<script>标签越少,页面的加载速度就越快,响应也更加迅速。不论外部脚本 文件还是内联代码都是如此。
阅读全文
摘要:jquery:grep 函数grep: function( elems, callback, inv ) {var ret = [], retVal;inv = !!inv; //变成boolen, 默认是false// Go through the array, only saving the items// that pass the validator functionfor ( var i = 0, length = elems.length; i < length; i++ ) {retVal = !!callback( elems[ i ], i ); // 将满足callb
阅读全文
摘要:检测浏览器是否支持canvasvar canvas = document.getElementById('tutorial');if (canvas.getContext){ var ctx = canvas.getContext('2d'); // drawing code here} else { // canvas-unsupported code here}三个函数用于绘制矩形的:fillRect(x,y,width,height): Draws a filled rectangle 矩形strokeRect(x,y,width,height): Dra
阅读全文
摘要:function getSelectText() { return document.selection && document.selection.createRange().text || window.getSelection && window.getSelection() || document.getSelection && document.getSelection() || '';}function getSelectText(){ var txt = null; if (window.getSelection){
阅读全文
摘要:Onunload,onbeforeunload都是在刷新或关闭时调用onbeforeunload:触发于: ·关闭浏览器窗口 ·通过地址栏或收藏夹前往其他页面的时候 ·点击返回,前进,刷新,主页其中一个的时候 ·点击 一个前往其他页面的url连接的时候 ·调用以下任意一个事件的时候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location rel
阅读全文