IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者
首页 / 风影博客
IT 2016-02-20 16:56:08 / 累计浏览 3,300

常用跨域方法实践(二)

这篇讲的是作者在《常用跨域方法实践》系列的第二篇中,深入介绍了document.domain、URL.hash、cross-fragment、window.name和postMessage这五种经典但相对“非主流”的跨域通信方案的具体实现。与依赖CORS或JSONP的常见方案不同,这些方法往往利用了浏览器的一些底层特性或历史遗留机制,解决特定场景下的问题。 例如,document.domain适用于具有相同父域名的子站点(如www和sample.myapp.com),通过修改这个属性即可实现内部应用的直接通信。URL.hash和其升级版cross-fragment,则利用了hash变化不触发页面刷新的特性,通过监听和修改iframe的hash值,甚至借助代理页面,实现了双向消息传递。作者为每种方式都提供了可运行的测试页面代码和效果演示,清晰地展示了从消息发送、监听到响应的完整流程。 文章不仅展示了如何“做”,也隐含了这些方案的适用边界与取舍:document.domain限于同父域;基于hash的方案虽然巧妙,但可能与其他业务逻辑中的hash使用产生冲突。对于理解浏览器安全模型的历史脉络,以及在特定约束下(如需兼容老旧环境或处理同父域子站通信)如何灵活选择技术方案,这些实践案例提供了非常扎实的参考。

本机暂存
IT 2016-02-20 16:47:13 / 累计浏览 2,240

nodejs文件无刷新上传

这篇讲的是在Node.js环境下如何实现文件无刷新上传,改善传统表单提交带来的页面刷新问题。作者从ExpressJS和multiparty工具包出发,详细拆解了基于RFC1867协议的两种异步上传方案。 第一种方案利用隐藏的iframe接收服务器响应,避免页面跳转,并通过JavaScript跨窗口调用实现结果回传。这种思路兼容性极佳,适合需要覆盖老旧浏览器的场景。第二种方案则拥抱现代Web技术,使用XMLHttpRequest第二版和FormData对象实现真正的Ajax异步上传,但需要浏览器对相关标准有较好支持。 文章并未止步于方案罗列,而是进一步展示了如何通过路由参数合并两种方式的后端逻辑,体现了代码复用的工程思维。无论是对iframe这一“老技术”新用的剖析,还是对前端上传演进思路的梳理,对开发者在实际项目中选择合适方案都有清晰的参考价值。

本机暂存
IT 2016-02-20 16:46:18 / 累计浏览 3,480

常用跨域方法实践(一)

作者从阅读《跨终端Web》一书得到启发,重新梳理并实践了两种经典的前端跨域方案:JSONP与CORS。这篇文章详细拆解了两者的实现原理与代码细节。 对于JSONP,核心在于利用 `