JS的函数定义可以指定形式参数名称,多多少少我们会以为js至少可以支持参数个数不同的方法重载,然而遗憾的是这仅仅是一个假象,js所有的参数都是以arguments传递过去的,这个参数类似于数组,在函数调用的时候,所有的实参都是保存在了这个数据结构里面,我们定义函数的时候所指定的形式参数其实是为这个数据结构里面的数据定义一个快捷的访问方式。也就是说js所有的函数都是支持无限个参数的,加上数据类型是弱类型,那么JS的函数...
通常我们的网站里面会加载一些js代码,统计啊,google广告啊,百度同盟啊,阿里妈妈广告代码啊,一堆,最后弄得页面加载速度很慢,很慢. 解决办法:换一个js包含的方式,让javascript加载速度倍增. 把通常加载方式: 代码如下: 改变成: 代码如下: document.write("") 如果要加载多个js的话,可以使用下面的方法 代码如下: document.write("") ; document.write("") ; document.write("") ; 其它的js如法炮制,广告的,页面特效的...
今天在做验证码的时候发现在IE中,验证码不会刷新,而谷歌等其他浏览器没有问题,所以我想到应该是缓存问题,因为IE默认的设置是如果访问地址没变化就不会去获取而是加载缓存中的内容 所以解决方案就是在验证码的切换地址后面加一个随机的参数 例如: 代码如下: //换验证码 function changeimg(){ /* math.random范围是0-1 *999变成0-999 +3000 就是3000-3999 */ var time=Math.round(Math.random()*999)+3000; $('#captcha').at...
JavaScript 加载器在 Web 开发中是非常强大和有用的工具。目前流行的几个加载器,像 curljs、LABjs 和 RequireJS 使用都很广泛。他们功能强大的,但有些情况下可以有更简单的方案。 如果你正在使用 jQuery,有一个内置的方法可以用来加载脚本。如果你想延迟加载插件或任何其他类型的脚本,都可以使用这种方法。下面给大家介绍如何使用它。 实现方法 jQuery 内置有 getScript 方法来加载一个脚本,处理返回的结果可以有几种方法来实...
最近,遇到一个权限管理的系统。由于权限管理的系统和本来的系统风格不一致,所有新打开一个窗口。问题就来了,admin注销之后,权限管理的窗口没有关闭。其他普通用户登录以后,仍然可以操作权限管理的窗口。 问题简化:admin注销的时候,或者main.html关闭的时候,打开的所有新窗口一起关闭。问题就解决了 直接看代码吧: 代码如下: Insert title here 打开新窗口 退出登录 //用户记录所有打开的子窗口 var win_Array =...
在面向对象的编程中,很多语言都支持函数重载,能根据函数传递的不同个数、类型的参数来做不同的操作,JS对它却不支持,需要我们额外做些小动作。 在JS的函数执行上下文中有一个名为arguments的有意思的变量,它以数组的形式存储了函数执行时传递过来的所有参数,即使函数定义没有定义这 么多个形参。还有一个特别之处就是跟Array类型相比,arguments变量有且只有一个length属性,Array的方法,例如push、pop 等,它并不具...
在ie 7 8浏览器中,如果使用trim()属性去除空格的话,则会导致报错。 因此解决这个问题有如下方案: var aa = $("#id").val().trim() --- 在IE中无法解析trim() 方法 解决办法: [ var aa = $.trim($("#id").val()); ] 这个不好用,还是用下面介绍的吧,第一个已经过测试。 W3C那帮人的脑袋被驴踢了,直到java script1.8.1才支持trim函数(与trimLeft,trimRight),可惜现在只有 firefox3.5支持。由于去除字符串两边的空白实在太...
js的事件监听跟css不一样,css只要设定好了样式,不论是原来就有的还是新添加的,都有一样的表现。而事件监听不是,你必须给每一个元素单独绑定事件。 常见的例子是处理表格的时候。每行行末有个删除按钮,点了这个能够删除这一行。 代码如下: 这行原来就有 <buttonclass="del">删除 这行原来就有 <buttonclass="del">删除 通常,我会这么绑定 代码如下: jQuery(function($){ //已有删除按钮初始化绑定删除事件 $(".del...
1.需求简介 jQuery的hover事件只是针对单个HTML元素,例如: 代码如下: $(#login).hover(fun2, fun2); 当鼠标进入#login元素时调用fun1函数,离开时则调用fun2函数,这种API已能够满足绝大部分需求。 不过,有些时候我们希望当鼠标进入两个或多个元素时触发fun1,离开他们时触发fun2,而在这些元素间移动鼠标并不触发任何事件。例如两个元素紧挨着的HTML元素,如下图: 当鼠标进入二者的区域时触发fun1,离开时触发fun2。你也许...
1、问题描述:JS中定义widow.location = function(),页面关闭时,logout()函数未执行。 window.onunload = function() {logout();}function logout(reqParam, callback){var userManageServiceUrl = "http://" + getServerAddr() + "/axis2/services/UserManageService";var urlList = [];var url = window.location.href;urlList = url.split("");var sessionID = urlList[1];reqParam.sessionID = sessionID;var pl = new SOAP...
前言 在前后端分离的开发模式中,从开发的角色和职能上来讲,一个最明显的变化就是:以往传统中,只负责浏览器环境中开发的前端同学,需要涉猎到服务端层面,编写服务端代码。而摆在面前的一个基础性问题就是如何保障Web安全? 本文就在前后端分离模式的架构下,针对前端在Web开发中,所遇到的安全问题以及应对措施和注意事项,并提出解决方案。 跨站脚本攻击(XSS)的防御 问题及解决思路 跨站脚本攻击(XSS,Cross-site scripting)...
问题描述 使用JavaScript的split方法拆分字符串时出现一些空字符串"",尤其是当使用正则表达式作为分隔符的时候。 相关问题 javascript正则表达式对字符串分组时产生空字符串组? 在上面这个问题中,题主使用正则表达式对字符串进行分割时产生了多个空字符串"",代码如下:代码如下: 张sdf四上法asdf翁芬aa33网s.split(/([\u4e00-\u9fa5]{1})/gi); //输出["", "张", "sdf", "四", "", "上", "", "法", "asdf", "翁", "", "芬", "aa...
代码如下: document.getElementsByName(someName) 返回一个节点列表(数组)注意:在IE下有些节点是没有name 属性的,就是用document.getElementsByName获取不到的。只有下面的tag有name属性: A, APPLET, attribute, BUTTON, EMBED, FORM, IMG, INPUT type=button, INPUT type=checkbox, INPUT type=file, INPUT type=hidden, INPUT type=image, INPUT type=password, INPUT type=radio, INPUT type=reset, INPUT type=submit, IN...
最近遇到个问题,同时引用了jquery库和另外一个js库。当用$XX去调用js库函数时,发现失效了!于是找资料,原来是jquery命名冲突了。因为许多JavaScript 库使用$作为函数或变量名,jquery也一样。其实$只是jquery的一个别名而已,假如我们需要使用jquery 之外的另一js库,我们可以通过调用 $.noConflict() 向该库返回控制权。下面是收集到解决这一问题的五种方案,总有一种你会用得上的。 例一:代码如下:冲突解决1 test---prototyp...
这里给大家推荐一个火狐浏览器的小技巧,不是自己人的话,我一般不告诉他~~~ 在FF浏览器中输入about:config查找dom.allow_scripts_to_close_windows将值改为true