精华内容
下载资源
问答
  • loadrunner11兼容浏览器

    2018-04-10 21:29:05
    loadrunner11兼容浏览器有IE9以下和Firefox3.6以下版本

    loadrunner11兼容浏览器有IE9以下和Firefox36以下版本

    展开全文
  • 解决VUE不兼容浏览器的方法 不兼容原因 vue使用ES6 Promise的问题,但IE浏览器不支持,解决办法:用babel polyfill转换 安装命令代码 npm install --save-dev babel-polyfill 添加代码 使用vue-cli项目在webpack....

    解决VUE不兼容浏览器的方法

    不兼容原因

    vue使用ES6 Promise的问题,但IE浏览器不支持,解决办法:用babel polyfill转换
    安装命令代码

    npm install --save-dev babel-polyfill
    

    添加代码

    使用vue-cli项目在webpack.config.js中添加以下代码:

    require('babel-polyfill')
    
    entry:{
      app:['babel-polyfill','./src/main.js']
    }
    
    展开全文
  • Deno 里面有一句描述:"Aims to be browser compatible",可以看到 Deno 的目标是兼容浏览器。那么这里的兼容浏览器到底如何是什么意思呢...
        

    Deno 里面有一句描述:"Aims to be browser compatible",可以看到 Deno 的目标是兼容浏览器。那么这里的兼容浏览器到底如何是什么意思呢?

    我简单谈谈我的理解吧。

    首先这里的兼容性肯定不是 Deno 直接在浏览器端运行。因为 Deno 是一个和浏览器平级的 Runtime。

    很多人还有误解以为兼容浏览器指的是 Deno 会提供“类似 Node.js 里的 UMD 写法”。首先我们明确一点,这里的兼容不是单指语法层面的兼容,并不是说要兼容 ES3 ES5。所以不要产生这种误解,以为可以通过 babel 兼容 Node.js 和 Deno。

    在 Deno 的 Roadmap 里面作者就已经写到了:

    Deno does not aim to be API compatible with Node in any respect. Deno will export a single flat namespace "deno" under which all core functions are defined. We leave it up to users to wrap Deno's namespace to provide some compatibility with Node.

    这里的兼容,我的理解是兼容浏览器的 API 和生态。(坐等被打脸)

    之前有个 issue “discussion: struct the browser-compatible APIs #82” 讨论这个问题,在 issue 中列举了一些想要兼容的浏览器 API:

    • High level

      • Console ✓

      • URL ✓

      • File/FileList/FileReader/Blob

      • XMLHttpRequest/Fetch

      • WebSocket

      • URLSearchParams

    • Middle level

      • AudioContext/AudioBuffer

      • Canvas

    讨论中还包括 WebGL 设置 GPU 的支持。我们可以隐约猜到 Deno 的一个目标就是让浏览器中的代码可以直接运行在 Deno 上面

    我的观点依然是:Deno 不是下一代 Node.js。(再次坐等被打脸)

    Deno 是一个“A secure TypeScript runtime on V8”。一个安全的基于 V8 的 TypeScript 运行时,这个怎么理解呢。

    浏览器可以认为是安全的 JavaScript 运行时,所有的 JavaScript 代码都是在沙盒(Sandbox)里面运行。浏览器虽然安装在你的电脑上,但是浏览器里面运行的 JavaScript 代码可以来自世界各地,换言之浏览器里面运行的都是不受信代码,如何保证浏览器的 JavaScript 代码不破坏你的电脑系统,这是浏览器安全机制需要解决的一个问题。而 Node.js 则不是,和任何的 Web 服务器一样,Node.js 运行的是受信代码

    之前 V8 出现了关于逃逸分析(Escape Analysis)的安全漏洞,Chrome 采取了紧急措施,在下一个版本中删掉了逃逸分析相关的功能,相比之下,Node.js 则没有受到影响,因为 Node.js 运行的代码本来就是受信的。

    从这个角度讲,Deno 和浏览器的定位很像。

    因为我们可以看到,兼容服务器端生态和兼容浏览器端生态的一个区别:

    • 浏览器里面运行的都是不受信代码

    • 服务器运行的是受信代码

    我们再换一个角度聊聊服务器生态。

    很多人还有一个误解,就是觉得上面提到的那些 API,对于 Node.js 也完全可以兼容,比如 Console、URL、XMLHttpRequest/Fetch 等,很多 API 都已经被 Node.js 实现了。

    当 Node.js 被开发出来的时候,类似 File、URL、Buffer 这类的 API 浏览器端都还没有,但由于 Node.js 定位为服务器端运行平台,因此 Node.js 参考的是其他 Web 服务器或者服务器编程语言。例如文件系统(File System),实现了一系列 POSIX(Portable Operating System Interface,可移植操作系统接口) 兼容的函数和功能。

    还有一点需要注意的是 Node.js 和浏览器的趋同化,例如 Node.js 7 加入的 URL API,而当今的主流浏览器也都提供了这个 API,这是因为 Node.js 也使用了 WHATWG URL 标准。

    WHATWG 的全称是 Web Hypertext Application Technology Working Group,网页超文本应用技术工作小组。这是一个相当“有重量”的组织,当 W3C 决定放弃 HTML 打算将未来的重点放在 XHTML 2.0 上时,WHATWG 坚决拥护 HTML,并制定了下一代 HTML 计划。最终 WHATWG 说服了 W3C 并与其一起发布了 HTML5。

    如今 Web 的飞速发展我们要感谢这些组织的努力。

    那么现在就有一个疑问了:如果 Node.js、浏览器、Deno 都使用这些标准后,那么他们是不是就会变得一样,Deno 会不会取代 Node.js,成为下一代 Node.js?或者 Deno 变成一个和 Node.js 一样但是比 Node.js 还难用的平台,最终被边缘化或者被抛弃?

    不会。因为性能和安全是不可兼得的,比如 File/FileReader/Blob 这种 API 天生就是为浏览器端沙盒环境设计的(WHATWG 好多标准都是为浏览器设计的)。Node.js 还没有提供相应的 API,而且也不打算提供,毕竟在服务器端环境我们更需要的是文件系统,所以 Node.js 不去拥抱 WHATWG,而选择了 POSIX。

    既然谈到了这个,那我就再讲的深入一点吧,深入到底层看看为什么 Node.js 不是用 Blob 和 FileReader 来读取文件。

    在浏览器端文件通常来自于网络,由 url 提供,或者来自于表单的用户主动选择。无论何种方式都是由浏览器来完成文件的读取,并把文件内容加载到内存缓冲区中,这时 JavaScript 可以通过 Blob 来操作此文件。但是 Node.js 却没有实现这些 API,而是在文件系统之上构建了 Stream 模块来实现。再看看其服务器端编程语言例如 Java、PHP 也都提供了 Stream。

    如果我们把 Node.js 作为一个 Web 服务器,那么我们横向和 Nginx 对比一下。如果使用 js 开发一个静态文件服务器,那么 Nginx 可以轻轻松松以十倍百倍的性能辗压 Node.js。

    我们可以从底层分析一下两者为何相差悬殊。这里有几个知识点:

    • 用户空间

    • 内核空间

    • 进程上下文

    • 中断上下文

    • DMA

    • Zero Copy

    为了安全考虑操作系统不允许用户代码直接操作硬件,为了保证操作系统内核的安全,将空间划分为两部分,一部分为内核空间,一部分为用户空间。用户编写的代码运行在用户空间,当需要使用底层功能时,可以通过系统调用进入内核,例如文件读取。

    当用户进程通过系统调用从用户空间进入到内核空间时,系统需要将用户进程的上下文保存起来,当再次从内核空间回到用户空间时,系统恢复此上下文。

    对于静态服务器,则这个步骤大概是:

    • 调用 read,文件被 copy 到内核缓冲区

    • read 函数返回,文件从内核缓冲区 copy 到用户缓冲区

    • write 函数调用,将文件从用户缓冲区 copy 到内核与 socket 相关的缓冲区

    • 数据从 socket 缓冲区 copy 到相关协议引擎

    640?wx_fmt=png

    可以看到文件在整个过程中被 copy 了 4 次。

    而 Nginx 底层使用 sendfile,可以实现 Zero Copy (零拷贝)。

    整个流程变成了:

    • sendfile 系统调用,文件被 copy 至内核缓冲区

    • 从内核缓冲区 copy 至内核中 socket 相关的缓冲区

    • 从 socket 相关的缓冲区 copy 到协议引擎

    640?wx_fmt=png

    可以看到在这个过程中,只有 3 次 copy。而且没有了用户空间和内核空间的切换,也不需要保存和恢复进程的上下文。其实上面还有优化的余地,因为在内核中发生了一次缓冲区到缓冲区的 copy。在 Linux 内核版本 2.4 之后,DMA 模块将数据直接从内核缓冲区传递给协议引擎。

    640?wx_fmt=png

    虽然称为 Zero Copy,但是数据依然是从磁盘复制到了内存,从操作系统的角度来看这个是必须的,所谓的零拷贝是指内核中没有冗余数据,数据不需要在内核拷贝。借助 DMA 模块此过程完全不需要 CPU 参与。

    在 Nginx 中只需要数据副本的 2 个 copy,而 Node.js 则需要 4 次。如果 Node.js 要想使用 Zero Copy 也有方法,比如使用 os 模块的功能,或者直接使用 C++ 扩展。

    从另一个角度讲,Node.js 的性能损耗不仅仅是 4 次 copy 以及进程上下文的保存和恢复,还包括数据和代码从 C++ 到 JavaScript 的反复跨越边界。

    我们回过头来讨论浏览器,对于浏览器来讲,根本就不需要这个特性。因为浏览器中的 JavaScript 代码不仅仅是在内核空间运行,而且还是在沙盒空间运行。

    所以与其在此猜测兼容浏览器指的什么,不如对比浏览器和服务器的差别:

    • 浏览器运行不受信代码,服务器运行受信代码

    • 浏览器遵循 W3/WHATWG,服务器遵循 POSIX

    • 浏览器关心 API 层的性能,服务器更关心操作系统层的性能

    • 浏览器能力受限,服务器能力不受限


    展开全文
  • //兼容浏览器阻止事件冒泡,阻止浏览器默认动作,兼容IE和其他浏览器  function cancelClick(e){    if (window.event){
    //兼容浏览器阻止事件冒泡,阻止浏览器默认动作,兼容IE和其他浏览器
                function cancelClick(e){
                
                    if (window.event){
                        window.event.cancelBubble = true;
                        window.event.returnValue = false;
                    }
                    
                    if (e && e.stopPropagation && e.preventDefault){
                        e.stopPropagation();
                        e.preventDefault();
                    }
                }
                
                var fn = function(e){alert("dd");EventUtil.unbind(document.getElementById("div1"), "click", fn);cancelClick(e)}
                
                
                
                window.onload = function(){
                    EventUtil.bind(document.getElementById("div1"), "click", fn);
                    EventUtil.bind(document.getElementById("div2"), "click", fn);
                }
                
                var EventUtil = new Object();
                
                    EventUtil.bind = function( obj, eventType, fn){
                        if( obj.addEventListener){
                            obj.addEventListener(eventType, fn, false);
                        }else if( obj.attchEvent){
                            obj.attchEvent("on"+eventType, fn);
                        }else{
                            obj["on"+eventType] = fn;
                        }    
                    }
                    
                    EventUtil.unbind = function( obj, eventType, fn){
                        if( obj.removeEventListener){
                            obj.removeEventListener(eventType, fn, false);
                        }else if(obj.detachEvent){
                            obj.detachEvent("on"+eventType, fn);
                            obj["on"+eventType]=null;
                        }
                    }
    展开全文
  • vue-element-admin兼容浏览器babel/polyfill配置 最近在做的一个后台项目用的是vue-element-admin,官网上的兼容低版本方法一直报错,最后在论坛找到的方法,最后在edge里切换ie8测试成功。 // 安装 npm install --...
  • 兼容浏览器的布局CSS心得体会
  • new Date处理日期格式及兼容浏览器问题在前端处理日期格式问题,需要写日期格式的函数 //日期格式化 Date.prototype.format = function(fmt) { var o = { "M+" : this.getMonth()+1, //月份...
  • promise兼容浏览器问题

    千次阅读 2018-09-16 20:44:19
    1、在项目中使用到了ES6的Promise对象,代码在谷歌浏览器中正常运行,而在360浏览器下的兼容模式下,IE内核是不支持Promise的。 2、通过can i use网站https://caniuse.com/)查到的ES6 promise的支持情况   3...
  • js关闭当前页面/窗口(兼容浏览器问题) 在js中window.close()函数是关闭当前页面的函数,但是要做到兼容所有浏览器实现关闭当前窗口并不是直接使用window.close()函数就可以解决。 Window自带的关闭当前窗口...
  • jQuery兼容浏览器IE8方法

    万次阅读 2017-06-19 20:06:53
    浏览器jquery兼容IE8方法在维护公司网站的时候,发现在IE8下jquery会报对象不支持此属性或方法、缺少对象的错误: 在其他浏览器就可以正常运行,当前使用的jquery版本是3.1.1,查资料发现jquery从2.0开始不支持IE...
  • 关于如何绑定Jquery 的scroll事件(兼容浏览器)  今天做一个随屏幕滚动的导航条时,发现一个问题:  火狐、谷歌、ie9正常,ie8、7、6页面滚动时,导航条没有反应。  代码如下:  $(document).bind("scroll...
  • 因为公司项目需要用到消息推送,最后决定选择使用WebSocket,但WebSocket是基于Html5的,要考虑各种浏览器兼容情况,就要判别用户使用的浏览器,于是网络查了些资料,解决了问题: “text/javascript”> if(navigator....
  • js window.event 兼容浏览器问题

    千次阅读 2016-05-27 09:44:16
    在做一个验证字数超过提示的功能的时候遇到event 不能兼容各大浏览器的问题 用了下面一个代码觉得还可以 就贴出来分享下 var event=arguments.callee.caller.arguments[0]||window.event;//消除浏览器差异 ...
  • Vue+ElementUI 关于兼容浏览器的问题

    千次阅读 2020-11-02 09:10:51
    由于IE浏览器的特殊性,在Chrome或其他浏览器下编译好的程序,在IE下需做特殊的处理,所以IE这个物种的存在,对前端开发人员来说特别痛苦,最近在使用ElementUI前端框架开发项目的过程中就遇到了IE下显示不了的问题...
  • 兼容浏览器复制jQuery ZeroClipboard插件

    千次阅读 2015-03-27 17:15:18
    1、jQuery-zclip是一个复制内容到剪贴板的jQuery插件,使用它我们不用考虑不同浏览器浏览器版本之间的兼容问题。jQuery-zclip插件需要Flash的支持,使用时记得安装Adobe Flash Player。 2、由于 Flash 本地沙箱...
  • 今天碰到一个css兼容浏览器问题,记录一下 如果你用js生成的html代码包含行内样式,该样式如果有针对浏览器做兼容处理,则无效,必须赋予元素一个class,然后在css代码中处理  比如生成 正常情况下...
  • JS事件流分析及兼容浏览器使用

    千次阅读 2016-08-23 16:52:21
    其中事件捕获流是由natScape浏览器独自开发的一种事件流结构,后来也被火狐、chrome、IE9及以上等主流浏览器支持。而支持事件冒泡流结构的浏览器则涵盖了当下基本所有的浏览器,包括IE8及以前版本。 给某个Dom对象...
  • CSS 中为了兼容浏览器的前缀

    万次阅读 2015-01-13 12:07:27
    -ms-transform:rotate(30deg); /* IE 9 */ -moz-transform:rotate(30deg); /* Firefox */ -webkit-transform:rotate(30deg); /* Safari and Chrome */ -o-transform:rotate(30deg); /* Opera */
  •  CSS对浏览器器的兼容性具有很高的价值,通常情况下IE和Firefox存在很大的解析差异,这里介绍一下兼容要点。  1、DOCTYPE 影响 CSS 处理  2、FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE ...
  • //联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄 一、概念 ... 缺点:兼容各种设备时所需工作量大、效率低下、代码累赘,会隐藏无用的元素,加载时间延长,其实这是一种折中性质的十设计解
  • 兼容浏览器的最小高度(min-height)

    千次阅读 2017-09-14 12:58:25
    是为了在除ie以外的浏览器中,覆盖height:775px这个样式。!important所在css样式会比其他css样式优先级最高。但也需要注意!important的合理使用,特别是在协作开发的时候,需谨慎。  改进代码后,在ie6下显示...
  • 找半天,HTML5的可以支持RTMP 但是无法播放RTSP,flash也止步于RTMP,最后同事推荐了个开源的好东东 VLC ,请教谷歌大神之后,这货果然可以用来让各浏览器(IE activex方式,谷歌、FF)实现播放RTSP视频流,那真是极...
  • 做BS开发就难免会用到javascript,而每个浏览器对...这就需要我们程序员去兼容他们,不然有些浏览器就无法运行我们的代码。就会造来客户的投诉,如果让BoSS知道了,这可不太好哦。下面是兼容IE和FF的js脚本做法和分解:
  • 由于浏览器兼容问题,不是所有的环境都可以使用WebSocket这种比较好的方式。也就是说,根据浏览器或者环境的不同,客户端和服务端可能需要使用不同的通信方式。Socket.IO简介为了解决上面的问题,Socket.IO就出现...
  • .autocut{  width:100px;   overflow:hidden;   white-space:nowrap;   text-overflow:ellipsis;   -o-text-overflow:ellipsis;   -icab-text-overflow: ellipsis;... -khtml-text-overflow: ell

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 69,090
精华内容 27,636
关键字:

兼容浏览器