`
文章列表
引用条件编译介绍 在IE有一个几乎没人知道的特性--“条件编译(Conditional Compilation)”。从IE4开始,IE开始支持这一特性,当它出现在一些Ajax相关的JavaScript中才开始引起人们的注意。它是一种对象探测的绝对形式,条件编译使IE按照用户预先定义在JScript或者JavaScript中的条件逻辑响应你的指令。你也可以把它想成是你脚本的“条件注释(Conditional Comments)”,它一样可以很好的在非IE浏览器中工作。 语法概述: 在脚本中使用 @cc_on 声明来触发条件编译机制启动,也可以直接使用 @if 或 @set 声明作为启动逻辑 ...
firefox为了浏览器安全性,不能获得上传文件绝对路径。。document.getElementById('file').value获得的是文件名 在ie里获得的却是绝对路径 <!doctype html> <script> function readFile(fileBrowser) { if (navigator.userAgent.indexOf("MSIE") != -1) { return getFilePath(fileBrowser); } else if (navigator.userAg ...
假如jsp页面里一个strTest的String对象,值为“mystring”,在JavaScript想打印出值,有如下打印方式 alert(<%=strTest%>); alert(“<%=strTest%>”); 用哪一种呢。。 你可以试下,会发现,不会执行alert,为什么呢?? 看下源代码 alert(mystring);//相当于打印出来的是名字为mystring的一个js对象,找不到这个对象,所以无法执行 alert(“mystring”); 当打印出来的是数值对象时,上面似乎是没有什么问题的
转自http://www.ilovejs.net/archives/959/comment-page-1#comment-1245 前几天在群里有人提出了一个关于动态插入DOM元素的问题,并由此引出了如何删除数组中重复项的讨论,为此我写了一个小函数来实现这个需求: var pureMultil=function(arr){ var obj={}; var a = []; for(var i=0,l=arr.length;i < l;i++){ if(!(arr[i] in obj)){ a.push(arr[i]); } ...
摘自http://www.ilovejs.net/archives/163 之前想做一个Web桌面的项目,考虑的必须得使用Ajax请求队列,使得Ajax的请求能按照队列按顺序执行,解决了Ajax异步传输覆盖的问题,也看了几个别人的代码,都整不太明白,所以自己干脆自己搞搞阵,自己实现,也得个安慰奖。我的实现方法很简单,通过递归调用函数,而无需使用定时器去检查Ajax请求是否已经执行完毕,具体的例子请看下面的代码: Javascript: onload = function(){ document.getElementById("btn").onclick = func ...
function f2c(){ var entity={quot:'"',lt:'<',gt:'>'}; return function(){ return this.replace(/&([^&;]+);/g,function($0,$1){ return entity[$1]; }); } } String.prototype.deenty=f2c(); var str='&lt;&quot;&gt;'.deenty(); alert(str); 替换为对应的字 ...
http://www.nowamagic.net/librarys/veda/detail/106
File f=new File(targetDir+"test_201109261245.te"); FileInputStream fi=new FileInputStream(f); Scanner s=new Scanner(fi); String baseStr=""; while(s.hasNext()){ baseStr+=s.nextLine(); } fi.close(); s.close(); 如果这时操作f.delete(); 结果是可以的。。如果如下写代码 ...

firefox上传文件

 
先看一个实例: jsp <tr class="defaultBGColor"> <td class="editLabel">テーマファイル:</td> <td ><input type="file" name="theme_path" id="themePath"/>&nbsp<font id="themepathFont" color="red">* ...

postion和relative

如下A-B的嵌套结构 <div id="A"> <div id="B"> </div> </div> 当A的position为relative时,B的position:absolute,相对位移的样式才有效。这时候left:0、top:0就不再针对窗口文档,而是针对id为A的这个div了。 并且,元素设置了postion属性,left,top,right属性才起作用 这样在开发一些基于B/S应用程序的时候,就能很方便的添加一些UI元素,例如某一个活动层的关闭按钮等。

js 自行函数

    博客分类:
  • js
有很多方法立即执行匿名函数,简单的整理就有下面三种的典型方式(还有其他方式的,欢迎告知): 方式一 (function() {     // … })(); 方式二 void function() {   // … }(); 方式三 ~function() {    // … }(); 方式一 和 方式二 大家可能都看到过,这里主要说明下 方式三。在说明 方式三 之前,我们现回顾下运算符“~”(位取反)在 EMCAScript 中的定义(第五版的第 72 页),简单的翻译下: 1. 按运算符结合语句 2. 将旧值转换为 32 位整型 3. 执行运算符后的语句 4. 转换之行 ...
1. <link href="a.css" rel="stylesheet" type="text/css"> 2. <link href="./a.css" rel="stylesheet" type="text/css"> 3. <link href="styles/a.css" rel="stylesheet" type="text/css"> ...
function getNextNode(target){ var rel=target; do{ rel=rel.nextSibling; }while(rel.nodeType!=1) return rel } 至于这么些的原因 见下面 nodeType = 3是文本节点 nodeType = 1是html节点 引用 firefox 解释: previousSibling:The node immediately preceding the given one in the tree, or null if there is no sibling node. ...
有时页面会出现莫名的不能占满页面的情况 window.onload=function(){ var height=document.documentElement.clientHeight; document.getElementById('left_area_id').style.height=height-2+"px"; document.getElementById('right_area_id').style.width=document.documentElement.clientWidth-266+"px" ...
JS操作css 下面是引用的。。很不错的总结、、 引用 使用js操作css属性的写法是有一定的规律的: 1、对于没有中划线的css属性一般直接使用style.属性名即可。 如:obj.style.margin,obj.style.width,obj.style.left,obj.style.position等。 2、对于含有中划线的css属性,将每个中划线去掉并将每个中划线后的第一个字符换成大写即可。如:obj.style.marginTop,obj.style.borderLeftWidth,obj.style.zIndex,obj.style.fontFamily等。 这个规律我想大多数的前 ...
Global site tag (gtag.js) - Google Analytics