jquery学习 - shuier/blogs GitHub Wiki

wait 学习参考资料

  • jquery 源码分析
  • jquery 中文文档
  • jquery 学习中心,官方提供的非常棒的学习方式,学习中心不仅提供了jquery如何使用而且介绍了使用过程中要注意的地方,特别是jquery对象和原生的DOM对象之间在使用上的区别
    • 已在自己的开发目录中建立tryjquery项目,是使用jquery的项目
    • default action of the event, 超链接,表单提交
    • on off event listener, why?内存泄漏吗?
    • 事件分类,用户事件、浏览器事件等等,具体可以参考Mozilla Developer Network has a good reference of available DOM events.
    • 事件代理方法的背后是事件冒泡机制,如果注册太多事件会影响到性能和内存管理,why?可以深入研究一下
    • Ajax does not work across domains.For instance, a webpage loaded from example1.com is unable to make an Ajax request to example2.com as it would violate the same origin policy.As a work around, JSONP (JSON with Padding) uses script tags to load files containing arbitrary JavaScript content and JSON, from another domain. More recently browsers have implemented a technology called Cross-Origin Resource Sharing (CORS), that allows Ajax requests to different domains.
    • same origin policy

In general, Ajax requests are limited to the same protocol (http or https), the same port, and the same domain as the page making the request. This limitation does not apply to scripts that are loaded via jQuery's Ajax methods.

The other exception is requests targeted at a JSONP service on another domain. In the case of JSONP, the provider of the service has agreed to respond to your request with a script that can be loaded into the page using a script tag, thus avoiding the same-origin limitation; that script will include the data you requested, wrapped in a callback function you provide.

以下内容挑选总结自:文档1文档2

同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。

所谓同源是指,域名,协议,端口相同。

为什么要有同源限制? 我们举例说明:比如一个黑客程序,他利用IFrame把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名,密码登录时,他的页面就可以通过Javascript读取到你的表单中input中的内容,这样用户名,密码就轻松到手了

而Ajax它通过XMLHTTP进行异步交互,这个对象同样能够与远程的服务器进行信息交互,而且更加危险的是,XMLHTTP是一个纯粹的Javascript对象,这样的交互过程,是在后台进行的,不被用户察觉。因此,XMLHTTP实际上已经突破了原有的Javascript的安全限制。 如果我们又想利用XMLHTTP的无刷新异步交互能力,又不愿意公然突破Javascript的安全策略,可以选择的方案就是给XMLHTTP加上严格的同源限制。

  • get & post, reference,对于一个 web程序员要清楚地了解get和post的区别
  • For example, say we would like to modify all cross-domain requests through a proxy.? 跨域的问题要用代理解决吗?