二、Bookmarklet的优点 它有几个很显著的优点,其他技术难以取代: 1. 安装快速 Bookmarklet的安装,就是在收藏夹中保存一段代码,一步就能完成。所有浏览器都原生支持。 2....使用方便 用的时候,点一下这个链接就行了。 3. 开发容易 一段Javascript代码就是Bookmarklet的所有内容,不需要用到其他技术,比开发一个浏览器插件简单多了。 4....跨浏览器 所有浏览器都支持Bookmarklet。如果写的正确,同样一个Bookmarklet在各种浏览器上都能正常使用。 三、Bookmarklet的编写规则 1....IE的最长网址不能超过2083个字符(IE6不能超过508个字符),这也就是Bookmarklet的最长长度。压缩工具可以帮忙减少长度,但是使用下面提到的连接外部代码的方法,可以避开这个限制。 3....; else{ /* 正常情况的代码 */ } 但是,上面的代码有一个问题,那就是行内框架iframe也包含在frames.length之中,所以必须排除iframe的影响。
前者是在document已经解析完成,页面中的dom元素可用,但是页面中的图片,视频,音频等资源未加载完,作用同jQuery中的ready事件;后者的区别在于页面所有资源全部加载完毕。...浏览器会并行下载其他有defer属性的script。而不会阻塞页面后续处理。注:所有的defer脚本必须保证按顺序执行的。...总结: 对于支持HTML5的浏览器,实现JS的异步加载只需要在script元素中加上async属性,为了兼容老版本的IE还需加上defer属性;对于不支持HTML5的浏览器(IE可以用defer实现),...原理基本上都是向DOM中写入script或者通过eval函数执行JS代码,你可以把它放在匿名函数中执行,也可以在onload中执行,也可以通过XHR注入实现,也可以创建一个iframe元素,然后在iframe...异步加载只是解决了下载的问题,但是代码在下载完成后就会立即执行,在执行过程中浏览器处于阻塞状态,响应不了任何需求。
最近工作中遇到一个场景,商家在商家后台需要实时的获取到有没有新订单,有的话是几个;这个需求类似与日常中使用QQ或者微信时的新信息提醒一样,只要有新信息就需要提醒;商家基本在PC上使用,各式浏览器都有:如...Google 的天才们使用一个称为“htmlfile”的 ActiveX 解决了在 IE 中的加载显示问题,并将这种方法用到了 gmail+gtalk 产品中。...在默认情况下,可以在 Jetty 6、Jetty 7、和 Jetty 8 中以及其他所有支持 Servlet 3.0 Specification 的服务中使用 CometD。 ?...Comet实现要点 不要在同一客户端同时使用超过两个的 HTTP 长连接 HTTP 1.1 规范中规定,客户端不应该与服务器端建立超过两个的 HTTP 连接, 新的连接会被阻塞,在IE浏览器中严格遵守了这种规定...服务器端需要确保当客户端不再工作时,释放为这个客户端分配的资源,防止内存泄漏。因此需要一种机制使双方知道双方都在正常运行。
大家好,又见面了,我是你们的朋友全栈君。 a>contentWindow 兼容各个浏览器,可取得子窗口的 window 对象。...b>contentDocument Firefox 支持,> ie8 的ie支持。可取得子窗口的 document 对象。...对象后,就可以通过contentWindow得到iframe包含页面的window对象,然后就可以正常访问页面元素了; 2)$(“#myiframe”)[0].contentWindow jquery选择器获得...$(“#dd”).val() 可以在得到iframe的window对象后接着使用jquery选择器进行页面操作; 4)$(“#myiframe”)[0].contentWindow.username=”...zhangsan”; 可以通过这种方式向iframe页面传递参数,在iframe页面window.username就可以获取到值,username是自定义的全局变量; 5)在iframe页面通过parent
②标准模式的排版和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。 注意点: HTML5 只需要写在JS中如何操作Cookie? 简述cookie,在JS中如何操作cookie 15、谈谈javascript数组排序方法sort()的使用,重点介绍sort()参数的使用及其内部机制。...②在jQuery中有专门的获取服务器json数据的方法,getJSON(),在回调中,jQuery会自动将json转换为javascript对象。 8、addClass、css有何用途?...优雅降级:Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会检查以确认它们是否能正常工作。...①内存泄漏指任何对象在您不再拥有或需要它之后仍然存在。 ②垃圾回收器定期扫描对象,并计算引用了每个对象的其他对象的数量。
(2)、标准模式的排版 和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。 HTML5 为什么只需要写 不起作用.如果元素float属性不是none,元素会脱离文档流,根据float属性值来显示.有浮动,绝对定位,inline-block属性的元素,margin不会和垂直方向上的其他元素margin折叠....React与Vue,各自的组件更新进行对比,它们有哪些区别? 其他问题 原来公司工作流程是怎么样的,如何与其他人协作的?如何跨部门合作的? 你遇到过比较难的技术问题是?你是如何解决的?...对于JS DOM的优化 HTTP服务器的文件缓存 列举IE与其他浏览器不一样的特性?...优雅降级:Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会针对旧版本的IE进行降级处理了,使之在旧式浏览器上以某种形式降级体验却不至于完全不能用。
(2)、标准模式的排版 和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。 HTML5 为什么只需要写 的离线储存怎么使用,工作原理能不能解释一下? 在用户没有与因特网连接时,可以正常访问站点或应用,在用户与因特网连接时,更新用户机器上的缓存文件。...fixed (老IE不支持) 生成绝对定位的元素,相对于浏览器窗口进行定位。 relative 生成相对定位的元素,相对于其正常位置进行定位。 static 默认值。...原来公司工作流程是怎么样的,如何与其他人协作的?...优雅降级:Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会针对旧版本的IE进行降级处理了,使之在旧式浏览器上以某种形式降级体验却不至于完全不能用。
-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起作用 --> 浏览器中)访问页面时 Respond.js 不起作用 --> 浏览器中)访问页面时 Respond.js 不起作用 --> 浏览器中)访问页面时 Respond.js 不起作用 --> 浏览器中)访问页面时 Respond.js 不起作用 --> <!
什么是跨域 跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制。...在html页面中通过相应的标签从不同域名下加载静态资源文件是被浏览器允许的,所以我们可以通过这个“犯罪漏洞”来进行跨域。...它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。 CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。...浏览器正常请求回应 一旦服务器通过了"预检"请求,以后每次浏览器正常的CORS请求,就都跟简单请求一样,会有一个Origin头信息字段。...浏览器的正常CORS请求。上面头信息的Origin字段是浏览器自动添加的。下面是服务器正常的回应。
;//在实现了ecma262v4的浏览器上输出:function console.log(typeof window.alert);//IE678 输出:object, 其他浏览器输出:function...//以上是constructor的坑,产生以上问题的原因是在旧版本IE下DOM和BOM是没有暴露出来的 console.log(isNaN("aaa"));//输出:true console.log...下的typeof返回unknown的情况 /* 之前大多数人用document.all是否存在来判定IE,因为用document.all来取得页面中的元素是不错的注意,但是这个方法其他浏览器也觊觎了好久..., 于是就有了Chrome下的闹剧 */ console.log(typeof document.all); //IE78中输出:object,在Chrome中输出:undefined...只有在IE6、IE7、IE8中才废一些周折处理window、document //Arguement、nodeList等模块
简介:iframe在日常的开发中经常用到,本随笔在参考http://blog.csdn.net/cuew1987/article/details/11265153的情况下,将对iframe的常用用法进行总结...4.1 Strict DTD 和 XHTML 1.0 Strict DTD 中,不支持 iframe 元素。...提示:您可以把需要的文本放置在 iframe> 和 iframe> 之间,这样就可以应对无法理解 iframe 的浏览器。...、contentDocument属性,通过iframe元素的这个属性,可取得子窗口的document对象,该属性兼容向存在问题:Firefox 支持,大于ie8版本的ie支持. (2)、获取子窗口document...ii、在得到iframe的window对象后,接着可以通过jquery选择器对其进行页面操作,代码如下: 通过上面的方法可以
阅读目录 什么是跨域 常用的几种跨域处理方法: 跨域的原理解析及实现方法 总结 摘要:跨域问题,无论是面试还是平时的工作中,都会遇到,本文总结处理跨域问题的几种方法以及其原理,也让自己搞懂这方面的知识,...缺点: 兼容性方面相对差一点,ie10或以上才支持 3、document.domain+iframe的设置 (只有在主域相同的时候才能使用该方法) 原理: 浏览器中不同域的框架之间是不能进行js...,这 个页面与它里面的iframe框架是不同域的,所以我们是无法通过在页面中书写js代码来获取iframe中的东西的。 ...页面中的jQuery对象。 ...如果是现代浏览器,首选。 缺点: ie8以前不支持 window.name: 主要是应用当frame的页面跳到其他地址时,其window.name值保持不变的原理。兼容性好。
实际上,IE浏览器会使用内部资源来加载信息页面、错误信息、以及某些插件图标。虽然这些资源嵌入在二进制文件之中,但是我们也可以单独加载这些资源。...最常见的一个例子就是当我们尝试在IE浏览器中加载无效的URL资源时,IE浏览器会显示一个错误页面。...比如说,当我们在浏览器地址栏中输入网址“http://invalidsite ”之后,IE浏览器就会将如下图所示的页面显示给我们: ?...; else alert("File does not exist");} 改进PoC 上面的这个PoC在上周之前还是可以正常工作的,但是因为微软在上周修复了这个漏洞,所以我们现在就得通过其他的方法来利用这个漏洞了...在上面这段代码中,第一个引起我注意的就是“mhtml:file”,因为即使IE禁用了“file:protocol”,但是mhtml仍然可以正常工作。
问题:存在兼容性问题,IE6、7无效 写法2: iframe.onload = iframe.onreadystatechange = function(){...}.....}); 如何操作iframe内部的window 写法1: iframe.contentWindow 问题: 部分浏览器不兼容(IE67),获取失败 写法2: document.frames[frameId...; }; var win = getIframeWindow(iframe); 设置iframe的边框 写法1: iframe.boder = 0; 问题: 非W3C标准,后面很可能废弃,部分浏览器不一定支持...和href在部分浏览器(IE继续躺枪)行文诡异,执行冲突异常 等价于全局eval。...但可以在单个实例中覆写该方法 prototype上定义静态对象变量,会造成所有对象共用,而不是分别创建实例,请在构造方法中分配实例 错误写法: function Test() {} Test.prototype.arr
类式继承:本质上还是使用构造函数的prototype,封装成类,典型的例子是jQuery之父John Resig的Simple JavaScript Inheritance,其他类库也有各自的实现...对象的一个属性 闭包 由于作用域的限制,函数外部不能访问函数内部的局部变量 闭包就是能够读取其他函数内部变量的函数引自学习Javascript闭包 function foo() { var...开销更大 会产生历史记录,url中暴露传递的内容 iframe+window.name:使用iframe的window.name从外域传递数据到本地域,适合各种场景下跨域且数据安全 缺点是数据有大小限制...的浏览器很慢 尽可能优先使用符合CSS语法规范的CSS选择器表达式,以此来避免使用jQuery自定义的选择器表达式,因为当jQuery遇到单个id, 标签名,类名,选择器就会快速调用浏览器支持的DOM方法查询...作用域、闭包、this的学习笔记 jQuery 性能优化最佳实践 web安全实战 Web开发中需要了解的东西
jQuery, Node.js等等类库经常使用的一个方法是把创造私有命名空间的整个文件用闭包包起来,这样可以避免和其他模块冲突。...本地存储 存储的数据没有有效期,数据的额度可以很多(至少5M)并且不会转到服务端。 相同域的本地存储不能共享,可以在站点内部创建框架并且可以用postMessage在本地存储之间传递数据。怎么做?...内部额外的margin删除 iframe src="..."...记住有哈希标志的请求,哈希标志最终不会发出去。 比如,你在页面http://github.com/awesome#huei90中。...你不需要jQuery 拥抱和理解现代Web API,发现各种模版类库可以让你从jQuery调用链中释放出来,并填补之间的鸿沟。
只有域的所有者才能访问管理域内部的资源,若其他的域要访问或者管理,则需要该域赋予其他域相关权限。 从小角度来讲,在php中的变量作用域,就可以体现出安全边界的概念。...在PHP脚本中的变量作用域不算复杂,而将一个网站看做一个域,当它要引用其他域的资源时,就需要目标域对原始域进行授权信任。 这种从其他域获取资源的操作就叫做 跨域。...存储在浏览器中的数据,如localStroage、Cooke和IndexedDB不能通过脚本跨域访问 Dom 同源策略 如果没有 DOM 同源策略,也就是说不同域的 iframe 之间可以相互访问操作。...但我们可以看到 http的请求码是200,代表请求成功,在preview中也可以看到php脚本的正常返回,所以 跨域请求失败,php脚本也会正常运行结束。..."; 到这里就可以正常的请求了,但是可以在浏览器中看到,产生了两次请求,也就是说php脚本执行了两次。
优点: 通过异步模式,提升了用户体验 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用 Ajax在客户端运行,承担了一部分本来由服务器承担的工作,减少了大用户量下的服务器负载。...闭包、控制台日志、循环(在两个对象彼此引用且彼此保留时,就会产生一个循环) 如何判断当前脚本运行在浏览器还是node环境中?...(阿里) 通过判断Global对象是否为window,如果不为window,当前脚本没有运行在浏览器中 当然,在面试中,除了要知道这些基础的知识外,很多时候需要的是你的工作经验,你有没有?...接下来就是在工作中,项目中,遇到的问题,解决方案,以及思考的一些套路啦 ---- 其他问题(举一些我碰见过的及汇总下来的问题,谨供大家参考) 你遇到过比较难的技术问题是?你是如何解决的?...常使用的库有哪些?常用的前端开发工具?开发过什么应用或组件? 页面重构怎么操作? 列举IE 与其他浏览器不一样的特性? 99%的网站都需要被重构是那本书上写的? 什么叫优雅降级和渐进增强?