草庐IT

支持度

全部标签

javascript - 如何检测 `focusin` 支持?

感谢Perfectionkills,我们可以使用以下JavaScript来检测事件支持:functionhasEvent(ev){varelem=document.createElement('a'),type='on'+ev,supported=elem[type]!==undefined;if(!supported){elem.setAttribute(type,'return;');supported=typeofelem[type]==='function';}elem=null;returnsupported;}这只在我需要它的时候起作用:检测mouseenter支持;has

javascript - 条件 catch 子句 - 浏览器支持

哪些浏览器支持条件捕获子句?在MDN上try...catch你可以找到Conditionalcatchclauses作为非标准功能。try{myroutine();//maythrowthreeexceptions}catch(eifeinstanceofTypeError){//statementstohandleTypeErrorexceptions}catch(eifeinstanceofRangeError){//statementstohandleRangeErrorexceptions}catch(eifeinstanceofEvalError){//statementst

javascript - Object.observe——并非所有主流浏览器都支持,我可以使用什么作为替代方案?

我有一个在Chrome中运行的函数,它会在名为finishedLoading的变量更改值时打印到控制台。Object.observe(finishedLoading,function(id,oldval,newval){console.log('finishedloading'+id+'wentfrom'+oldval+'to'+newval);}这不适用于许多其他现代浏览器(例如firefox、safari)。有没有我可以使用的替代方案会得到更好的支持?谢谢! 最佳答案 更广泛支持的方法可能是Object.defineProper

javascript - 检测是否支持事件监听器

是否可以检测某些浏览器是否支持某些事件?我可以检测浏览器是否支持document.addEventListener,但我需要知道它是否支持事件DOMAttrModified。Firefox和Opera支持它,但Chrome和其他浏览器不支持。 最佳答案 更新的答案:是,您可以对此进行特征检测。创建一个元素,监听事件,并更改元素的属性。在我的测试中,您甚至不必将元素添加到DOM树,这使它成为一个很好的、包含的特征检测。例子:functionisDOMAttrModifiedSupported(){varp,flag;flag=fals

javascript - ECMAScript 6 在对象解构中扩展了语法。支持 TypeScript 和 Babel

以下是有效的ECMAScript6吗?最新版本的Babel似乎支持它,但TypeScript不支持它。我找不到任何处理这种情况的ES6引用资料。vara={foo:'foo'};varb={...a}; 最佳答案 不,这不是有效的ECMAScript6。ES6只支持函数参数和数组解构中的剩余语法,以及函数调用和数组构造中的扩展语法。ItseemstobesupportedbythelatestversionofBabelBabel确实实现了objectRestSpreadES7proposal作为experimentalplugin

javascript - 哪些浏览器支持getElementById?

可以安全地假设getElementById在每个浏览器中都有效吗?如果不支持,哪些支持/不支持? 最佳答案 所有浏览器都支持这个,但是我在IE6和7中遇到了一个问题(添加到@Esailija的回答中)这样做:不要这样做:你应该这样做的原因是因为在InternetExplorer中,如果你试图使用getElementById定位一个元素,出于某种原因浏览器将搜索页面上某些元素的名称属性,除了id.假设我们使用了错误的方法来编码name和id值,下面的代码块将在IE7中得到完全相同的结果:varfullAddress=document.

javascript - 如何检测 JavaScript 中的设备触摸支持?

以前在JavaScript中检测设备是否支持触摸事件时,我们可以这样做:vartouch_capable=('ontouchstart'indocument.documentElement);但是,即使底层设备不支持触摸事件,谷歌浏览器(17.x.x+)也会为上述检查返回true。例如,在Windows7上运行上面的代码会返回true,因此如果我们将它与类似的东西结合起来:varstart_evt=(touch_capable)?'ontouchstart':'onmousedown';在GoogleChrome上,该事件永远不会触发,因为我们绑定(bind)到ontouchstart

javascript - 为什么 Jasmine 被称为 "BDD"测试框架,即使不支持 "Given/When/Then"?

在介绍Jasmine,它说:Jasmineisabehavior-drivendevelopmentframeworkfortestingJavaScriptcode.我阅读了BDD的几篇文章,似乎我们应该使用“Given/When/Then”来定义“Scenario”,这就是“cucumber”所做的。但是在Jasmine中,我看不到任何这样的方法。即使Jasmine没有这样的概念,我们还能称其为“BDD”测试框架吗? 最佳答案 Jasmine不会阻止您使用given-when-then,下面的示例显示了在使用Jasmine时可以

javascript - 使用 Javascript 获取支持 bean 值

JSF2.0、Mojarra2.0.1、PrimeFaces3.4.1有类似的问题,但我需要某事。别的;javascript函数必须等待支持bean方法,该方法正在填充要从js函数中提取的变量。我想说的是:假设js函数只是获取值并将其打印到屏幕上。functionafterLoad(){alert("#{statusBean.size}");}这是生日的child:@ManagedBean@ViewScopedpublicclassStatusBean{publicintsize=0;ListpanelList=newArrayList();publicvoidgetStatuses(

javascript - 检测手机浏览器是否支持溢出 :scroll

是否有一个与设备和库无关的简单JavaScript解决方案?我想向html元素添加一个类,这样我就可以在可能的情况下向移动设备提供可滚动的容器。这与Modernizr采用的方法类似,检测功能支持而不是浏览器检测。我只是不想使用整个Modernizr框架。努力使移动元素的JavaScript保持轻便。谢谢! 最佳答案 它并不完美,但我正在使用它来检测-webkit-overflow-scrolling。varoverflowScrolling=typeof($("body")[0].style["-webkit-overflow-sc