草庐IT

browser-feature-detection

全部标签

javascript - 如何对 ES6 生成器进行特征检测?

我真的很喜欢ES6生成器。有什么方法可以检测浏览器中的生成器支持吗?我知道生成器目前可能不会出现在很多浏览器中(或者可能根本没有浏览器),但这对我来说没问题。我试过:try{function*(){}}catch(err){console.log("Nogenerators");}但是好像不行。如何检测浏览器对ES6生成器的支持? 最佳答案 eval实际上是正确解决方案的少数情况之一。对于语言结构的改变,你需要这样的东西:try{eval("(function*(){})");}catch(err){console.log(err)

javascript - 右键单击 d3.js 元素 : how to prevent browser context menu to appear

我绘制了一些d3.js元素,例如://drawrectanglesvg.selectAll(".rect").append("rect").attr("y",10).attr("x",10).attr("height",5).attr("width",5).on("contextmenu",function(d,i){//reactonright-clicking});它工作正常,但也会打开浏览器的上下文菜单。我该如何防止这种情况发生? 最佳答案 将d3.event.preventDefault();添加到您的函数中。//drawr

javascript - 我怎样才能 "performance detect"浏览器

一些移动浏览器和IE8javascript不仅慢了一点点,还慢了10倍!有很多东西可以通过特征检测测试(jscss操作等),但速度太慢,会降低用户体验。Modernizr会告诉我某个功能存在,但不会告诉我它是否低于某个性能阈值。检测IE8适用于IE8用户,但不适用于速度较慢的移动设备、平板电脑和运行旧版FF、Safari、移动Opera等的计算机。有哪些有效的方法可以在不影响现代浏览器用户的情况下缓和或禁用缓慢的功能?是否有比时间戳代码执行block更好的方法? 最佳答案 没有按设备功能划分性能的公共(public)数据库,也没有任

javascript - MVC4 Beta 缩小和 bundle : Ordering files and debugging in browser

我已经开始使用MVC4Beta中包含的bundle和缩小。我遇到了一些问题:一方面,如果我使用经典bundle,似乎我必须重命名我的文件以确保它们以正确的顺序bundle。假设我有三个javascript文件:“ants.js”、“bugs.js”、“insects.js”ants.js依赖于bugs.jsbugs.js依赖于insects.js默认bundle似乎按字母顺序bundle它们。为了让它们正确bundle,我必须将它们重命名为:“0.insects.js”、“1.bugs.js”、“2.ants.js”这真的很老套,必须有更简洁的方法。我遇到的下一个问题是调试。我喜欢在我

javascript - 如何检测移动浏览器是否会显示 "native"下拉控件?

我想检查浏览器是否会显示特殊的“原生”样式下拉菜单(例如iPhone和iPod),而不是专门检查浏览器名称。是否可以在不按名称查看用户代理的情况下以更通用的方式检查该功能?我想这样做以确定是呈现标准的还是更增强的下拉控件。 最佳答案 如果没有非常糟糕的解决方案,我认为这实际上是不可能的。我敢打赌最好的方法就是检测设备,因为几乎所有移动浏览器都使用nativeddl来显示选项。这可以通过使用Modernizr来实现的媒体查询和触摸检测:if(Modernizr.touch&&Modernizr.mq('onlyscreenand(ma

javascript - 在没有 jQuery 或 Modernizr 等框架的情况下检测对 transitionend 事件支持的简单方法?

有没有人找到一种简单的方法来检测浏览器是否支持vanillaJs中的transitionend事件,尤其是在所有主流浏览器中都有效的方法?:(我在这里找到了这个未答复的线程:TestfortransitionendeventsupportinFirefox,以及相当多的几乎可以工作的技巧。现在我正在向所有vendor前缀批量添加事件监听器,并且它有点奏效(尽管我认为这是一种可怕的方法,每次看它都会伤害我的眼睛)。但是IE8和IE9根本不支持,所以我需要检测这两个,并分别对待。我更愿意在没有浏览器嗅探的情况下执行此操作,并且绝对没有像jQuery这样的大型库/框架我制作了一个jsfidd

javascript - 浏览器列表错误 : Unknown browser major

我正尝试在我的Angular安装中使用bootstrap4。我跑了npminstall--savebootstrap@next但我在运行时休息了:./node_modules/css-loader?{"sourceMap":false,"importLoaders":1}!./node_modules/postcss-loader/lib?{"ident":"postcss","plugins":[null,null,null],"sourceMap":false}!./node_modules/bootstrap/dist/css/bootstrap.min.cssModulebui

javascript - Vue单元测试报错: vuex requires a Promise polyfill in this browser

我使用vue-cli创建了一个项目,并在其中添加了vuex和vue-router。我正在尝试为其设置单元测试,但出现以下错误。没有Vuex,它曾经可以工作。PhantomJS2.1.1(MacOSX0.0.0)ERRORError:[vuex]vuexrequiresaPromisepolyfillinthisbrowser.atwebpack:///~/vuex/dist/vuex.js:145:0以下是相关的包版本:"babel-core":"^6.0.0","babel-eslint":"^7.0.0","babel-loader":"^6.0.0","vue":"^2.1.0"

javascript - ExtJS 4 : grid: cell editing: auto edit feature 需要的建议和帮助

我搜索了与ExtJS相关的问题,但没有找到任何引用,但如果我错过了,请提前提出重复问题。我想寻求一些关于如何制作ExtJS4网格的帮助:单元格编辑:自动编辑功能——我的意思是,我想在按下一个键时进入单元格编辑模式(例如,通过按“123”在突出显示的单元格中,文本将替换(如果有的话)为“123”)。目前可以通过按回车键或点击鼠标进入单元格编辑模式。作为基础,我正在使用Sencha提供的示例:http://dev.sencha.com/deploy/ext-4.0.2a/examples/grid/cell-editing.html如有任何提示和指点,我们将不胜感激。提前致谢!:)实际上我

javascript - Chrome 开发者工具 : Best resource for learning advanced features?

我随便使用Chrome开发人员工具来调试AJAX和JavaScript。这主要意味着控制台检查元素/变量/方法状态,偶尔使用“网络”选项卡调试通过ajax提供的问题,如果我无法找到JS错误,偶尔会在调试器中打断点。但是,每当专门的前端开发人员(我是后端)在我面前使用相同的工具时,他们使用这些漂亮而抽象的小功能总是让我想“该死的,我为什么不知道关于那个”?...所以,问题是:对提供googlechromedevtools的全面和更高级解释的资源有什么建议吗? 最佳答案 AddyOsmani做了一个关于chrome开发工具的优秀系列,y