1、jQuery和JS中页面加载完后执行方法的写法

(1)在javascript中用来执行页面加载中的操作时候,我们会使用

window.onload=function(){}
 window.onload=函数名;

也可以在body中调用onload事件调用方法。

<body onload="函数名">

在一个页面写多个只会执行最后一个onload。

(2)在jQuery中也有相同作用的代码,代码如下:

$(function(){});
jQuery(function(){});
$(document).ready(function(){});
jQuery(document).ready(function(){});

(document)意思是说,获取整个网页文档对象(类似的于window.document)。$(document).ready意思就是说,获取文档对象就绪的时候。

以上四个代码执行同一个动作,但是当与其他js程序库一起使用的时候,特别是prototype.js同时使用时,不能使用$方法,因为他们也有该方法,可以用如下方法回避这种冲突:

jQuery(function($){});

他们都是当DOM加载完后执行的操作,所以放在HTML的任何位置都可以。

2、JS和jQuery获取各种屏幕的宽度和高度

JavaScript:

网页可见区域宽: document.body.clientWidth
网页可见区域高: document.body.clientHeight
网页可见区域宽: document.body.offsetWidth (包括边线的宽)
网页可见区域高: document.body.offsetHeight (包括边线的高)
网页正文全文宽: document.body.scrollWidth
网页正文全文高: document.body.scrollHeight
网页被卷去的上方: document.body.scrollTop
网页被卷去的左边: document.body.scrollLeft
网页正文部分上方: window.screenTop
网页正文部分左边: window.screenLeft
屏幕分辨率的高: window.screen.height
屏幕分辨率的宽: window.screen.width
屏幕可用工作区高度: window.screen.availHeight
屏幕可用工作区宽度: window.screen.availWidth

jQuery:

获取浏览器当前窗口可视区域高度 : $(window).height();
获取浏览器当前窗口可视区域宽度 :$(window).width();
获取浏览器当前窗口文档的高度 :$(document).height();
获取浏览器当前窗口文档的宽度 :$(document).width();
获取滚动条到顶部的垂直高度 :$(document).scrollTop();
获取滚动条到左边的垂直宽度 :$(document).scrollLeft();
获取浏览器当前窗口文档body的高度:$(document.body).height();
获取浏览器当前窗口文档body的宽度:$(document.body).width();
获取浏览器当前窗口文档body的总高度,包括border padding margin:$(document.body).outerHeight(true);
获取浏览器当前窗口文档body的总宽度,包括border padding margin:$(document.body).outerWidth(true);

3、jQuery对象和JS(DOM)对象的互相转换

jQuery对象转成DOM对象:

两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index);

(1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。

var JObject = $("#ID"); //jQuery对象
var Object = JObject[0]; //DOM对象

(2)jQuery本身提供,通过 .get(index)方法,得到相应的DOM对象。

var JObject = $("#ID"); //jQuery对象
var Object = JObject.get(0); //DOM对象

DOM对象转成jQuery对象:

对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象)。

var Object = document.getElementById("ID"); //DOM对象
var JObject = $(Object); //jQuery对象

转换后,就可以任意使用jQuery的方法了。

通过以上方法,可以任意的相互转换jQuery对象和DOM对象。需要再强调注意的是:DOM对象才能使用DOM中的方法,jQuery对象是不可以用DOM中的方法。

4、document.all

(1)document.all是页面内所有元素的一个集合。例如:document.all(0)表示页面内第一个元素

(2)document.all可以判断浏览器是否是IE

if(document.all){
alert("is IE!");
}

(3)也可以通过给某个元素设置id属性(id=abc),然后用document.all.abc调用该元素。

5、request.getHeader();

request.getHeader,简单的说就是获取请求的头部信息,根据http协议,它能获取到用户访问链接的信息,以下是我们常用的:

(1)request.getHeader("referer")获取来访者地址。只有通过链接访问当前页的时候,才能获取上一页的地址;否则request.getHeader("referer")的值为null。当你在地址栏输入一个地址时,它的引用是null,相当于你第一次打开浏览器一样。通过window.open打开当前页或者直接输入地址,也为null。

request.getHeader("referer"),它主要是用于获取链接的上一个引用。比如,从a.jsp跳转到b.jsp,那在b.jsp中获取到的引用就是a.jsp,如果手动刷新b.jsp,获取到的引用仍然是a.jsp,刷新的时候,会检查服务端是否会有更新,没有的话,则使用本机的缓存,也就是说,你刷新时得到的响应依然是前一次得到的服务端的内容,因为你的jsp文件没有变化。

(2)request.getHeader("host")获取请求服务器的主机,如你的http://localhost:8080/bbs/index.jsp。获取到的就是localhost:8080

可以使用以下代码对登录进行安全控制,只有在添加了指定头部信息的浏览器才能成功登录。

var tt= '<%=request.getHeader("sdfsssssssag") %>';
function denglu(){
  if(tt==null||tt==''||tt=='null'){
    alert("sorry!不支持登录系统!请联系技术。");
    return false;
  }
}

6、浏览器的ajax

Ajax请求是马上发起(如Chrome)还是在当前执行栈空了以后再发起(如Firefox)都可以,是浏览器自己如何实现的问题。

但是真正符合异步过程精神的应该是Chrome那样的(即Ajax线程不应该被主线程阻塞)。Firefox的实现很奇怪!

Flex上传文件在火狐与谷歌中的不同表现:session

参考文章:http://blog.csdn.net/ycpanda/article/details/40148059

Firefox中,FileReference使用的URLRequest和Flash所在页面用的不同的session。

JavaScript使用注意事项的更多相关文章

  1. javascript类型注意事项

    以下是javascript类型的注意事项: null:表示尚未存在的对象,注意,尽管尚未存在,也是个对象啊,所以用typeof检测一个null值变量的结果是Object:不过,为了便于写if语句,在j ...

  2. 初学JavaScript七大注意事项

    知识说明: 初学JavaScript,注意以下七大细节,在实现同样功能的情况下,让我们的代码更易懂.效率更高. 一.简化代码 例如:创建对象 之前是这样的: Var car = new object( ...

  3. javascript代码注意事项

    1 代码行末要加分好.原因<<javascript高级程序设计第三版21页第三行>> 2 初始化变量应该加上默认值因为使用typeof时 未声明和声明为初始化的值都返回unde ...

  4. javascript初学者注意事项

    注:以下属于个人学习中的理解不能保证全部正确,如果有错误以后修正. 1.javascript和c#语言一样严格区分大小写,有没有类的概念. 2.所有的变量声明都使用var,虽然能打出蓝色int,但却不 ...

  5. JavaScript的注意事项

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. Javascript 原型注意事项

    function abc() {} abc.prototype.xx = { name: "keatkeat" } var x = new abc(); x.xx.name = & ...

  7. javascript NaN注意事项

    NaN直译是Not a number NaN是个特殊的number,它和任何值相比都不相等,甚至和它自己. NaN === NaN 这个表达式是false 唯一能判断NaN的方法是 IsNaN(NaN ...

  8. JavaScript递归注意事项

    var svg_node = document.getElementById("svgnode") function parents(posnode,selector) { var ...

  9. JavaScript一些基础技巧和注意事项,你了解这些吗?

    总结了一些JavaScript在开发编码中的使用技巧,如有不对,欢迎指正. 一.JavaScript在HTML和XHTML的使用 使用<script>元素有两种方式:直接在页面中嵌入Jav ...

随机推荐

  1. poi横纵动态导入

    dao层 <insert id ="saveInTarget" parameterType="java.util.List" > INSERT IN ...

  2. python入门学习2

    变量 变量名就像我们现实社会的名字,把一个值赋值给一个名字时,它会存储在存储中,称之为变量(Variable),在大多数语言中,都把这种行为称为“给变量赋值”或“把值存储在变量中”. 而Python与 ...

  3. 高并发高负载系统架构-php篇

    首先呢,我罗列一下文章的目录,让大家有个整体轮廓的了解! 1.为什么要进行高并发和高负载的研究 2.高并发和高负载的约束条件 3.解决之道——硬件篇 4.解决之道——部署篇 5.解决之道——环境篇 6 ...

  4. 【原】The Linux Command Line - Processes

    ps - report a snapshot of current processes top - display tasks job - list active jobs bg - place a ...

  5. 微信公众号Java接入demo

    微信公众号Java接入demo 前不久买了一台服务,本来是用来当梯子用的,后来买了一个域名搭了一个博客网站,后来不怎么在上面写博客一直闲着,最近申请了一个微信公众号就想着弄点什么玩玩.周末没事就鼓捣了 ...

  6. Linux 进程通信方式

    转载文章 进程通信的方式 管道( pipe ): 管道包括三种: 普通管道PIPE: 通常有两种限制,一是单工,只能单向传输;二是只能在父子或者兄弟进程间使用. 流管道s_pipe: 去除了第一种限制 ...

  7. 【Django】 TemplateDoesNotExist at /HTMLeditor/HTMLeditorHandler/

    TemplateDoesNotExist at /HTMLeditor/HTMLeditorHandler/search/indexes/htmleditor/htmleditor_text.txt ...

  8. TPL DataFlow初探(一)

    属性TPL Dataflow是微软面向高并发应用而推出的一个类库.借助于异步消息传递与管道,它可以提供比线程池更好的控制,也比手工线程方式具备更好的性能.我们常常可以消息传递,生产-消费模式或Acto ...

  9. FortiGate安全策略说明

    1.安全策略原理 1)为了对数据流进行统一控制,方便用户配置和管理,FGT设备引入了安全策略的概念.通过配置安全策略,防火墙能够对经过设备的数据流进行有效的控制和管理. 2)当防火墙收到数据报文时,把 ...

  10. python shell的交互模式和文本编辑模式

    之前学python的时候,是拿<笨办法学python>练习的. 书里面基本都是以.py文件去写代码,也就是文本编辑模式. 而交互模式(也就是powershell),唯有在input用户输入 ...