分类目录归档:Javascript

jquery的$.extend和$.fn.extend作用及区别

转载自: http://blog.sina.com.cn/s/blog_7c5d61f30101da1k.html jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(); jQuery.extend(); 虽然 javascript 没有明确的类的概念,但是用类来理解它,会更方便。 jQuery便是一个封装得非常好的类,比如我们用 语句 $(“#btn1″) 会生成一个 jQuery类的实例。 jQuery.extend(object); 为jQuery类添加类方法,可以理解为添加静态方法。如: jQuery.extend({ min: function(a, b) { return a < b ? a : b; }, max: function(a, b) { return a > b ? a : b; } }); … 继续阅读

发表在 Javascript | 标签为 , | 留下评论

iframe缓存问题

页面有多个iframe时,容易窜位,即时你给src的链接加个php生成的随机数也不行。改成用js生成iframe就可以了。

发表在 Javascript | 标签为 , | 留下评论

【转】通过设置P3P头来实现跨域访问COOKIE

欢迎访问火丁笔记:http://huoding.com/ 火丁的订阅地址:http://huoding.com/feed 作者:老王 网上看了别人介绍的一片文章,说使用P3P可以完成跨域COOKIE操作,感觉很COOL,不过没有提供源代码,我胡乱写了一下,大家看看。 实际工作中,类似这样的要求很多,比如说,我们有两个域名,我们想实现在一个域名登录后,能自动完成另一个域名的登录,也就是PASSPORT的功能。 我只写一个大概,为了测试的方便,先编辑hosts文件,加入测试域名(C:WINDOWSsystem32driversetchosts) 127.0.0.1        www.a.com127.0.0.1        www.b.com 首先:创建 a_setcookie.php 文件,内容如下: <?php //header(‘P3P: CP=”CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR”‘); setcookie(“test”, $_GET['id'], time()+3600, “/”, “.a.com”); ?> 然后:创建 … 继续阅读

发表在 Javascript | 标签为 , | 留下评论

【转】(跨域)JSONP原理 $.getJSON 用法 jquery跨域

简介符合Web2.0特征的众多网站一个明显的特点就是采用Ajax。Ajax提供了在后台提交请求访问数据的功能。其实现主要使用的是XMLHttpRequest函数,这个函数允许客户端的Javascript发送到服务器端的HTTP请求并获得返回数据。Ajax同时也是目前众多的Mashup背后的驱动力量,他们都利用Ajax来聚合不同来源的信息。 理解同源策略的限制同源策略是指阻止代码获得或者更改从另一个域名下获得的文件或者信息。也就是说我们的请求地址必须和当前网站的地指相同。同源策略通过隔离来实现对资源的保护。这个策略的历史非常悠久从Netscape Navigator 2.0时代就开始了。 解决这个限制的一个相对简单的办法就是在服务器端发送请求,服务器充当一个到达第三方资源的代理中继。虽然是用广泛但是这个方法却不够灵活。另一个办法就是使用框架(frames),将第三方站点的资源包含进来,但是包含进来的资源同样要受到同源策略的限制。 有一个很巧妙的办法就是在页面中使用动态代码元素,代码的源指向服务地址并在自己的代码中加载数据。当这些代码加载执行的时候,同源策略就不会起到限制。但是如果代码试图下载文件的时候执行还是会失败,幸运的是,我们可以使用JSON(JavaScript Object Notation)来改进这个应用。 JSON和JSONP与XML相比,JSON是一个轻量级的数据交换格式。JSON对于JavaScript开发人员充满魅力的原因在于JSON本身就是Javascript中的对象。例如一个ticker对象   var ticker = {symbol:’IBM’,price:100}而JSON串就是   {symbol:’IBM’,price:100}这样我们就可以在函数的参数中传递JSON数据。我们很容易掌握在函数中使用动态的JSON参数数据,但是我们的目的并不是这个。通过使我们的函数能够加载动态的JSON数据,我们就能够处理动态的数据,这项技术叫做 Dynamic Javascript Insertion。我们看下面的例子index.html中   <script type=”text/javascript”>       function showPrice(data){           alert(“Symbol:” + data.symbol + “, Price:” + data.price);       }              var url = … 继续阅读

发表在 Javascript | 标签为 , , , , | 留下评论

【转】document.body.insertAdjacentElement用法

var frm = document.createElement(“form”);alert(frm);frm.id = “_frm”;frm.name = “_frm”;frm.action = url;frm.method = ‘post’;document.body.insertAdjacentElement(“beforeEnd”,frm); document.getElementById(“_frm”).submit();   语法:   oElement = object . insertAdjacentElement ( sWhere , oElement )   参数:   oElement : 必选项。对象(Element)。要插入到 object 邻近的对象。   sWhere : 必选项。字符串(String)。beforeBegin | afterBegin | beforeEnd | afterEnd beforeBegin : 将 oElement … 继续阅读

发表在 Javascript | 标签为 | 留下评论

【转】js判断页面加载完成

如何用js判断页面加载完成? <script> <!– document.onreadystatechange = subSomething;//当页面加载状态改变的时候执行这个方法. function subSomething() { if(document.readyState == "complete"&&window.parent.frames["框架名"].document.readyState == "complete") //当页面加载状态为完全结束时进入 myform.submit(); //这是你的操作 } //–> </script> ————– 那就再加个IF条件呗: window.parent.frames["mainFrame"].document.readyState == "complete" 上面代码已修改. ————– 没有name就加个name呗.而且就算没有name也照样可以那么写啊.没有影响的. 或者你也可以这么写: window.parent.frames.框架名.document….. ===================================================================================================== function loadCheck() { var bool = parent.document.frames['frame'].document.readyState == ‘complete’; … 继续阅读

发表在 Javascript | 标签为 | 留下评论

【转】JS判断页面加载完毕

使用 document.onreadystatechange()来判断,如果加载完,就执行一个操作。function document.onreadystatechange(){if (document.readyState==”complete”) {     //要做的操作。   }}说明 :onreadystatechange 事件能辨识readyState 属性的改变

发表在 Javascript | 标签为 | 留下评论

window.onload

<script type="text/javascript"> function xx(){ alert("wo kao!"); } </script> <script type="text/javascript">window.onload=xx;</script>//直接带方法名 <script type="text/javascript">window.onload=function(){xx();} </script>//方法里调方法 <script type="text/javascript">window.onload=xx();</script>//ie下报 尚未实现。。。

发表在 Javascript | 标签为 | 留下评论

js提交表单的问题

最近在提交表单时碰到个问题,之前发现一直是没问题的,现已找到解决方案。 文章转载自http://www.baifeng.me/web/tech/2009/11/1178/ 在最近的开发过程中,我遇到了一个很奇怪的问题,就是在利用Javascript控制表单提交时,浏览器提示document.genForm.submit is not a function。genForm是 当表单<form>…</form>中含有name=”submit”时,提交时就会有冲突,这个错误常见于按钮上,如: <form> <input name=”submit” type=”submit” value=”OK” /> </form> 在Javascript做submit()的时候就会出现冲突,这时将name=”submit”改成别的比如login之类的就可以了,反正submit在这个情况下是个保留关键字。 而我并没有这样写,而是在表单的输入框中使用了<input name=”submit” type=”text” />,这样也是不行的。 所以在我们编写代码时,为了确保万无一失,变量和函数命名除了要回避系统和语言明确规定的保留关键字以外,还应该尽量避免使用那些如submit这种HTML以及其他标记中的关键字,否则说不定在什么地方就会有冲突,查找起来也会很麻烦。业界广泛采用的办法就是骆驼式和前缀式,就是在变量名之前加上自己姓名的首拼缩写,如bf_varname,以及使用变量名单词首字母大写等,尤其是在团队开发时,是很有必要的,不仅有助于程序员之间的理解,避免冲突,还可以找到相关的负责人。

发表在 Javascript | 标签为 | 2 条评论

使用Google maps的问题

在IE下偶尔报错,火狐里没事。。。郁闷。。。 <!DOCTYPE html “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd“> <html xmlns=”http://www.w3.org/1999/xhtml” xmlns:v=”urn:schemas-microsoft-com:vml” ><head>     <meta http-equiv=”content-type” content=”text/html; charset=gbk”/>     <title>goole地图调用</title>     <script src=”http://ditu.google.cn/maps?file=api&amp;v=2&amp;key=abcdefg&sensor=true_or_false&amp;oe=gbk”             type=”text/javascript”></script> <!–引用Google地图js 密匙key 放到公网上要根据应用网址申请一个–>   <script type=”text/javascript”>     var map;var geocoder;var address;var markerOptions;var markerOptions2;var marker;var friends;var EARTH_RADIUS = … 继续阅读

发表在 Javascript | 标签为 , | 留下评论