`
zhangyaochun
  • 浏览: 2560685 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

关于script标签的onerror事件

阅读更多

其实写过jsonp相关api或者了解jsonp原理的同学其实都知道其实作为跨域的一种比较好的方式,其实还是有很多“缺陷”的。

 

 比如:

 

  • 无法使用POST进行提交
  • 异常处理
其实当然很多人也了解过script标签部分支持onerror事件

兼容性相关

  • IE9|10  FF Safari  Chrome   支持
  • IE6-8 Opera  不支持

关于如何判断浏览器是否支持script的onerror,可以查看司徒正美的 http://www.cnblogs.com/rubylouvre/archive/2011/02/12/1952160.html


同样很多人和我一样会问,那我们想做到兼容基本所有浏览器的异常处理咋办呢?

 --------  先介绍一下从司徒那边看到的一个方案:

JSONP的回调函数总是在script的onload事件(IE的onreadystatechange)之前就被调用,因此在回调执行之时,为script标签增加一个属性,然后等到onload发生的时候,检查有没有这个属性,来以此判定是否请求成功


1
0
分享到:
评论

相关推荐

    VBA 一句代码解决On error goto line 多次使用的问题 .txt

    一句代码解决On error goto line 多次使用的问题 .txt On error goto line 错误跳转语句只能使用一次 本代码只需要加一句即可重复使用错误跳转 On error goto line VBA错误跳转多次使用的问题 On error goto 0 ...

    抓取Bug的工具error-prone.zip

    标签:error 分享 window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "2", "bdMiniList": [], "bdPic": "", ...

    国人编写的、超牛的、基于jQuery插件式、监听模式(无侵入)的html页面form表单通用验证框架

    $("#email").formValidator({onshow:" ",onfocus:"邮箱6-100个字符,输入正确了才能离开焦点",oncorrect:"该电子信箱可以注册"}).inputValidator({min:6,onerror:"你输入的电子邮箱不合格,请确认"}).regexValidator...

    JavaScript详解(第2版)

     13.6.8 onError事件   13.7 event对象   13.7.1 捕获和冒泡(滴漏和冒泡)   13.7.2 事件对象属性   13.7.3 使用事件对象属性   13.7.4 将事件传递给JavaScript函数   13.7.5 鼠标坐标   13.7....

    javascript异步编程

    如XMLHttpRequest对象与script标签的onreadystatechange回调,image的onload与onerror回调,iframe的onload,DOM元素的事件回调,HTML5的跨域消息传送postMessage,QuickTime与flash对象的加载…… setTimeout

    jQuery详细教程

    <p>If you click on me, I will disappear. jQuery hide() 另一个 hide() 演示。如何隐藏部分文本。 <script type="text/javascript" src="/jquery/jquery.js"></script> <script type="text/javascript"> $...

    大名鼎鼎SWFUpload- Flash+JS 上传

    而如果返回值为false,则通常是由一个uploadError事件所导致的。  注:官方帮助文档的原文中对该事件的描述中有这样一句:“If you return 'true' or do not return any value then the upload proceeds.”,从中...

    Xpage学习笔记

    <script type=”dojo/connect” event=”onDelete” args=”delItem”> </script> 2.5.4.5 树的拖放 要使树具有拖放功能,仅仅需要设置dndController属性(dijit._tree.dndSource已废弃): 要限制...

    JavaScript利用append添加元素报错的解决方法

    SCRIPT5022:DOM Exception:HIERARCHY_REQUEST_ERR(3) error 2、错误原因 在append()中包含append() 如: append(append(String)); 3、解决办法 去掉append中的append,将里面的append中的字符串放到外面的ap

    javascript函数的解释

    71.JS中遇到脚本错误时不做任何操作:window.onerror = doNothing; 指定错误句柄的语法为:window.onerror = handleError; 72.JS中指定当前打开窗口的父窗口:window.opener,支持opener.opener...的多重继续. 73.JS中的...

    innerHTML在IE中报错解决方案

    在百度找不到解决方法,后来用谷歌搜到了,外国有人也遇到过这个问题,并指出了问题的所在:http://www.aachin.info/techen/error-on-ie-9-script600-invalid-target-element-for-this-operation/?amp;utm_source=...

    出现问题a is defined高手帮忙

    <script src="http://ditu.google.com/maps?file=api&v=2& key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ- i1QfUnH94QxWIa6N4U6MouMmBA&h1=zh-CN" type="text/javascript"></script...

    vcg(验证码控件)

    protected void Page_Load(object sender, EventArgs e) { CallBack = this.ClientScript.GetCallbackEventReference(Vcg1, “message”, “ShowImage”, “context”, “OnError”, true);...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -v0.2beta2版本中关于PersistChildren(true)的描述有误,这个是设计时属性,和运行时是否保持状态没有关系。 -修正CheckBox控件的CheckedChanged事件会被触发两次的BUG(Data PostBack->AutoPostBack, Event ...

    ZendFramework中文文档

    2.1.1. 关于资源(Resource) 2.1.2. 关于角色(Role) 2.1.3. 创建访问控制列表(ACL) 2.1.4. 注册角色(Role) 2.1.5. 定义访问控制 2.1.6. 查询 ACL 2.2. 精细的访问控制 2.2.1. 精细的访问控制 2.2.2. 除去访问...

    freemarker总结

    JAVA模版引擎Freemarker常用标签(一) 1. if指令 这是一个典型的分支控制指令,该指令的作用完全类似于Java语言中的if,if指令的语法格式如下: <#if condition>... <#elseif condition>... <#elseif condition>......

    JavaScript高级教程

    2.10.3 有标签的语句..............................................48 2.10.4 break 语句和 continue 语句..............................................48 2.10.5 with 语句.....................................

    arcgis工具

    arcgis工具总结 1. 要素的剪切与延伸 实用工具 TASK 任务栏 Extend/Trim feature 剪切所得内容与你画线的方向有关。 2. 自动捕捉跟踪工具 ... 捕捉设置中有3个选项, vertex edge end 分别是节点、终点、和边,选择...

    grub4dos-V0.4.6a-2017-02-04更新

    --auto-num-off --auto-num-on 关闭/打开菜单自动编号。默认关闭; --font-spacing=[font]:[line] 设置字符间距/行间距。单位:像素。默认0。应当位于下面的参数之前; --string=[x]=[y]=[color]=["string“] ...

    IDL编程技术(一本入门及提高的宝典书籍)

    目录 第一章 起步篇................................................................................................................. 9 本章概述...........................................................

Global site tag (gtag.js) - Google Analytics