您现在的位置:首页 --> JavaScript --> 跨域请求的iframe解决方案(2)
跨域请求的iframe解决方案(2)
浏览:3112次 出处信息
将上一篇文章中的代码封装一下,基于jQuery。
用法:
以下是代码片段: // xs的意思是cross site $.xsget({ url: "http://127.0.0.1/server.html", callback: function (data) { alert(data); } }); |
源代码:
以下是代码片段: (function ($) { $.extend({ "xsget": function (options) { $.extend(options, $.xsget.defaults); var iframe = document.createElement("iframe"), same_domain = false; iframe.style.display = "none"; document.body.appendChild(iframe); // 当iframe加载完之后触发的函数 function iframe_load() { if (same_domain) { // 调用回调函数 if (typeof options.callback === "function") { options.callback(iframe.contentWindow.name); } // 关闭iframe的窗口 iframe.contentWindow.close(); // 移除iframe document.body.removeChild(iframe); } else { same_domain = true; iframe.contentWindow.location = options.proxyUrl; } } // 在IE下要用attachEvent来添加iframe的onload事件 if (iframe.attachEvent) { iframe.attachEvent("onload", function () { iframe_load(); }); } else { iframe.onload = iframe_load; } iframe.src = options.url; } }); $.extend($.xsget, { "defaults": { // 默认的空白页面,在网站的根目录下 proxyUrl: "/empty.html" } }); })(jQuery); |
建议继续学习:
- iframe大小自适应 (阅读:8637)
- iframe里src="about:blank"的问题。 (阅读:6796)
- 优雅绝妙的Javascript跨域问题解决方案 (阅读:6702)
- jQuery中getJSON跨域原理详解 (阅读:5556)
- 跨域请求的iframe解决方案(1) (阅读:5332)
- ajax-cross-domain (阅读:4940)
- BO报表系统嵌入Iframe在firefox下的错误修改 (阅读:4575)
- ie下iframe输入框焦点丢失解决方案 (阅读:4236)
- 利用跨域资源共享(CORS)实现ajax跨域调用 (阅读:4082)
- 研究ext发现ajax跨域实现 (阅读:3695)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:跨域请求的iframe解决方案(1)
后一篇:JS 常用继承实现方式 >>
文章信息
- 作者:小寒 来源: 记事本
- 标签: iframe 跨域
- 发布时间:2010-07-27 23:29:57
建议继续学习
近3天十大热文
- [12] 产品设计之QQ邮箱登录页与淘宝登录页
- [9] Python连接 MySQL 数据库的超时问
- [9] 分布式系统的事务处理
- [8] 读书:谣言
- [8] 移动Web开发初学者指南
- [8] 逃出你的肖申克(五):看不见的牢笼(上)
- [8] 关于不得不在python中使用代理访问网络的
- [8] 浅述各平台系统交互设计的不同关注点
- [7] 微信朋友圈技术之道
- [7] 可用性测试好助手——Morae软件的应用