« 类别 js 下的文章

暂停页面资源占用(网页缩小检测)

“暂停页面资源占用”其实是个function,javascript也是可以用中文来写滴 function 暂停页面资源占用(){ 幻灯广告2.暂停(); 文字滚动5.暂停(); 啥啥啥动画.暂停(); 定时更新长链接.低迷模式();} 为什么要这样做呢? 装厚道,把资源让给别人,有些情况下还可以省自己服务器的资源。 那什么时候调用他呢? onblur ,那怎样变回正常呢?再写一个对应滴。 但是这样看起来不是特别高级,怎样更高级呢?自定义事件 我记得好久好久前写过个task 让那些爱动的元素玩上 onElementShow onElementHide 这样的事件,然后就把上面的 function 分开了,让元素看不到时就可以开始暂停。 其实还不够高级,我们还可以把 元素看不到 、页面 blur、窗口最小化 做进一步细分,不同阶段做不同深度的事。 附窗口最小化检查 function isMinStatus() { var isMin = false; if(window.outerWidth != undefined){ isMin = window.outerWidth = 160 wi…
阅读更多……

Javascript绝句欣赏

转载自: http://site.douban.com/widget/notes/22456/note/142716442/ 1. 取整同时转成数值型: ’10.567890′|0 结果: 10 ’10.567890′^0 结果: 10 -2.23456789|0 结果: -2 ~~-2.23456789 结果: -2 2. 日期转数值: var d = +new Date(); //1295698416792 3. 类数组对象转数组: var arr = [].slice.call(arguments) 4. 漂亮的随机码: Math.random().toString(16).substring(2); //14位 Math.random().toString(36).substring(2); //11位 5. 合并数组: var a = [1,2,3]; var b = [4,5,6]; Array.prototype.push.apply(a, b); uneval(a); //[1,2,3,4,5,6] 6. 用0补全位数: function prefixInteger(n…
阅读更多……

(转)用JavaScript编写一个Java虚拟机?谈谈哗众取宠的

今日目睹某网络新闻,开篇明义便包含如下几行文字 【程序员Artur Ventura,这位超级大牛,用JavaScript写了一个java虚拟机BicaVM】 继而再读,惊见其中“超级大牛”、“神人”等溢美之词不绝于耳,崇拜、神往之心溢于言表。仿佛BicaVM就是天上有地下无的创举,仿佛Artur Ventura就是继比尔盖茨,乔布斯之后的第三位IT业领军人。然而很可惜,小弟今天准备要“侮辱”一下这位“大牛”了。 只因在小弟看来,这篇文章,乃至其中介绍的BicaVM,都如某女士对某御用文人的评价一样“实无耻之尤,足令人作三日呕”。什么“自动化的沙盒”、“具有支持JNI接口,DOM模型等特点”,说起来果然天花乱坠,似乎有什么高明玄妙。 其实归根结底,BicaVM无非就由两种东西所构成,一种叫炒作,而另一种,就叫做扯淡。 众所周知,本来JS就是解释性的语言,而BicaVM是什么东西,是一个能够让JS运行字节码(直接读取class)的WEB版JVM。也就是说,他要用 自身还需浏览器进行解释的JavaScript,再去“解释”已编译为Class的Java Byte Code……上苍啊!即便不讨论…
阅读更多……

javascript 沙箱实现

从一个经典的跨域脚本应用说起: JSONP 是一个流行的跨域获取数据的方案,它原理是向文档动态插入一个 script 标签,向远程服务器发起一个脚本请求,然后远程服务器返回一个定的回调函数并传入 JSON 数据,这样完成跨域数据交换。 如页面预先定义一个全局函数: 1 window.jsonp534533 = function (json) { 2 //... 3 } 向服务器发起 script 请求 JSONP http://api.douban.com/jsonp?key=3435type=musiccallback=jsonp534533 服务器返回 js 文件 1 jsonp534533({ 2 "code" : 0 3 "data" : [...] 4 }) JSONP 虽然很方便实现前端跨域,但是其弊端也是显而易见的:无法保证安全性。 由于是 script 直接执行,假若提供 JSONP 服务器返回了恶意代码 (如被黑客入侵),这样将会十分危险。恶意代码可以向页面插入广告或者直接重定向第三方站点、甚至可以窃取 cookie 用 N 种方式发送到第三方服务器,这些都直接威胁站…
阅读更多……

人人网首页拖拽上传详解(HTML5 Drag&Drop、FileReader API、formdata)

早在公元2011年6月3日傍晚,人人网推出了一个很装B且完全无视IE浏览器的功能——拖拽上床。哦,Sorry, 是 拖拽上传 。到现在,这个功能已经上线了整整半年,这篇文章也足足拖延了半年才分享给大家,实在是对不住了,呵呵,今后彬Go一定要勤奋发Blog! 您还可以参考以下HTML5相关文章: 《 HTML5 DragDrop 拖拽、FileReader实例教程 》 《 HTML5 WebSockets 基础使用教程 》 《 关于HTML 5 canvas 的基础教程 》 《 让所有IE支持HTML5的解决方案 》 《 一起感受HTML5和CSS3的能量 》 关于这个拖拽上传,其实国外有很多网站已经有这样的应用,最早推出拖拽上传应用的是Gmail,它支持标准浏览器下拖拽本地文件到浏览器中作为 邮件的附件发送。人人网的这个拖拽上传也是同理,可以让使用标准浏览器的用户通过简单的拖拽行为,将本地文件夹中的照片直接上传到人人网,用户体验能得到 提升的同时,也希望借此机会推广一下标准浏览器,淘汰IE。人人网当时也向广大用户推出升级浏览器活动,并喊出口号:”工欲善其计算机,必先利其浏览 器”。本次…
阅读更多……

用userdata和localstorage做跨浏览器本地储存

为网站做一个搜索历史本地储存,想法是对于ie外的浏览器可以直接使用localstorage,但是对于不争气的IE,难道只能使用cookies? 然后搜到hacker news上的一篇文章。 Store.js – cross browser local storage without using cookies or flash (github.com) http://github.com/marcuswestin/store.js 于是才知道IE下的userData。 1.浏览器支持 userData是微软为IE在系统中开辟的存储空间。因此只支持windows+IE。意外的是从IE5.5就已经开始userData了。 2.保存位置 在XP下,一般位于C:\Documents and Settings\用户名\UserData,有些时候会在C:\Documents and Settings\用户名\Application Data\Microsoft\Internet Explorer\UserData。 在Vista下,位于C:\Users\用户名\AppData\Roaming\Mi…
阅读更多……

3 款实用的在线JS代码工具推荐

本文为大家带来3款非常实用的在线JS代码工具,可以帮助你方便地处理JavaScript或jQuery代码。 1. 压缩工具 用于在线压缩你的JS代码,它有一个选项“Include latest jquery.min.js”,这对于提升速度非常有用。 推荐理由 :缩小代码 = 更小的文件大小 = 更快的网页加载速度 2. 美化工具 用于将压缩后的代码转换回正常状态,使代码再次可读。该工具也可用于混淆的代码。 推荐理由 :漂亮的代码 = 易读 = 更快地开发 3. 混淆工具 用于保护(混淆)你的代码,使代码不可读。很显然,一些模仿者可以使用一个工具去反混淆/解压缩,但是你为代码设置的保护越多越好。 推荐理由 :混淆代码 = 不可读 = 保护劳动成果 英文原文: http://www.jquery4u.com/tools/3-online-javascriptjquery-code-tools/
阅读更多……

Tangle:能产生数据互动效果的Javascript程序包

Tangle是一个能产生数据互动效果的Javascript程序包,什么叫互动效果,这个解释起来很麻烦,读者也未必一时就能明白,但看一个例子,自己操作一下,我想大家一下就知道这个Javascirpt程序包能做什么了。 那好,把鼠标放在下面有下划线的数据上左右拖动,效果就会出来。 提醒:这些示例不支持低于IE9的IE浏览器 如果你吃了 块饼干 ,你消耗的热量是 大卡。 是不是太简单了,谁都能实现。那么,再看一个复杂点的例子: 下面的这段文字中的所有有下划线的字符都能拖拽。 提案 21:州立停车场的停车费 目前的方式: 加利福尼亚有 个州立停车场,包括海滨和古迹。目前的每年 百万美元的预先不够维持这些停车场。大概有 个停车场只能部分时间里开放。大多数的停车场会向每辆车收取 的管理费。 提案 21的建议是: 向每辆车主收取每年18美元的注册登记费。登记完的车可以免交停车费。 分析: Suppose that an extra was charged to % of California taxpayersvehicle registrations. Park admission would b…
阅读更多……

JS提醒框架 Notifier.js

Notifier.js 是一个 JavaScript 的事件提醒框架。 示例用法: Notifier.success('User registration successful')Notifier.success('It\'s a boy!', 'Congrats!')Notifier.info('You have been informed!')Notifier.info('Tomorrow is another day', 'Words of wisdom')Notifier.warning('I warn you Ceasar!')Notifier.warning('I warn you Ceasar!', 'Assassination Warning')Notifier.error('Something may be wrong..')Notifier.error('Something may be wrong..', 'Ummm..')Notifier.notify('Babe I\'m gonna leave you', 'Led Zeppelin', './icons/M…
阅读更多……

JavaScript有关的10个怪癖和秘密

原文作者: Andy Croxall 原文链接: Ten Oddities And Secrets About JavaScript 翻译编辑: 张鑫旭 数据类型和定义 1. Null是个对象 JavaScript众多类型中有个Null类型,它有个唯一的值null, 即它的字面量,定义为完全没有任何意义的值。其表现得像个对象,如下检测代码:alert(typeof null); //弹出 object 如下截图: 尽管typeof值显示是object,但null并不认为是一个对象实例。要知道,JavaScript中的值都是对象实例,每个数值都是 Number对象,每个对象都是Object对象。因为null是没有值的,所以,很明显,null不是任何东西的实例。因此,下面的值等于false。 alert(null instanceof Object); //为 false 译者注:null还有被理解为对象占位符一说 2. NaN是个数值 NaN本意是表示某个值不是数值,但是其本身却又是数值,且不等于其自身,很奇怪吧,看下面的代码:alert(typeof NaN); //弹出 Number…
阅读更多……
浙ICP备08010023号