草庐IT

cross-browser

全部标签

JavaScript:跨浏览器 "browser plugin"检测

我正在寻找一个脚本来检测用户是否安装了WindowsMediaPlayer、Quicktime、Flash或Silverlight...理想情况下,这将是jQuery插件,但任何脚本都可以。您知道可以推荐一个吗? 最佳答案 PluginDetect似乎工作得很好。您可以生成脚本的缩小版本,只选择您想要检测的插件和您需要的功能。 关于JavaScript:跨浏览器"browserplugin"检测,我们在StackOverflow上找到一个类似的问题: http

javascript - 输入类型="submit",onclick处理程序调用this.form.submit(),并且不返回任何值

编辑:在考虑回答问题之前,请仔细阅读问题的所有内容。我既不是在生产代码中使用内联事件处理程序的可取性,也不是在实现我所引用的文章所promise的结果的最佳方法。这是关于Javascript语义和浏览器实现细节的问题,而不是关于最佳编码实践的问题。听起来像一场噩梦,对吗?但是我发现一些onlineadvice提倡这样做,以防止再次提交表单:撇开对内联事件处理程序的弊端的任何讨论,我在这里看到的问题是:标签的类型是"submit",因此提交其包含形式是其默认行为;onclick处理程序显式提交包含表单;onclick处理程序不返回false以防止默认行为(请参见1)。凭直觉,我认为单击此

javascript - DOM 元素的 JavaScript 相等运算符是否跨浏览器?

对于DOM元素,==和===能否在所有浏览器中正常工作?如果代码以两种不同的方式获取对原始DOM元素的引用,那么它们在所有浏览器中是否都等于==和===? 最佳答案 Will==and===workcorrectlyinallbrowsersforDOMelements?是的,这些相等运算符将按照ECMAScript标准定义的方式工作。请注意,==经常会做开发人员意想不到的事情,例如在与字符串值进行比较时转换为字符串。这将使以下陈述为真,尽管它可能不是所需的结果:document.createElement('div')=='[ob

javascript - $.browser.msie 和 IE9

我正在尝试使用jquery$.browser.msie检测所有版本的IE。它适用于8、7、6,但忽略IE9。为什么会这样,javascript检测ie9的解决方案是什么?JS版本:jQueryJavaScript库v1.5 最佳答案 从版本1.9开始,不再支持jQuery$.browser。请改用jQuery.suport。通过此更改,您需要检查要检查的功能。所以它不再支持浏览器检查。建议进行功能检查而不是浏览器检查。Docshere 关于javascript-$.browser.msi

javascript - 范围对象 : differences between Webkit and Mozilla based browsers

目前,我在为基于Mozilla和Webkit的浏览器编写抽象层以使用DOM范围对象(获取和处理用户选择)时遇到了一些麻烦。我也尝试过查看像Rangy这样的框架,但这对我的任务来说似乎太复杂了(我不知道在代码中的确切位置可以找到我需要的信息。如果有人能给我提示,我将不胜感激!)。我想要的就是这样:取回对选择开始的文本节点的引用及其偏移量取回对选择结束的文本节点的引用及其偏移量到目前为止,我的层看起来像这样:varSEL_ABSTR={get_selection:function(window_object){returnwindow_object.getSelection();},get

javascript - 有没有办法一次执行所有 Modernizr 测试?

我是Modernizr的新手,我只是在寻找一种简单的方法来检查浏览器的整体兼容性。我已经生成了一个Modernizr脚本来仅测试我的Web应用程序中最重要的组件,它高度依赖于HTML5、CSS3和现代JavaScript方法。有没有办法同时运行所有这些测试?查看文档,我发现有很多方法可以逐一测试每个功能,但我没有看到一次完成所有测试的方法。我希望做这样的事情:伪代码if(Modernizr.testAll()){//Loadsite}else{//Redirecttocompatibilitypage} 最佳答案 事实证明,所有测试

javascript - $browser.$$checkUrlChange 在 Jasmine 测试中未定义

我有以下测试:it('shouldmaintainabindbetweenthedataatthe$scopetothedataattheingredientsService',function(){$scope.addFilters('val1',$scope.customFiltersData,'filter1');$scope.$digest();expect($scope.customFiltersData).toEqual(ingredientsService.filters());});我收到以下错误:TypeError:undefinedisnotafunctionatS

javascript - 如何转换基于 Msxml2.XMLHTTP 的仅 IE 网站,使其也适用于 Firefox?

这是一个仅限IE的网站,我想将其与其他浏览器一起使用,例如Firefox:https://golestan.sbu.ac.ir/Forms/AuthenticateUser/login.htm我被迫为我的大学使用这个网站。它使用Msxml2.XMLHTTP,这是IE独有的功能。我尝试将其转换为XMLHttpRequest,因此它仅适用于Firefox。这是我创建的Greasemonkey脚本。现在它不报错,但它不起作用。所有功能均来自网站的原始脚本,但经过更改以便与XMLHttpRequest一起使用。如果出现登录脚本,我可以接受。我该如何调试这个javascript?//==User

javascript - Selenium 网络驱动程序 : firefox headless inject javascript to modify browser property

我正在尝试弄清楚如何将seleniumwebdriver与python或java结合使用来注入(inject)javascript以修改浏览器属性/属性。我的最终目标是获得类似于this的东西使用selenium和firefox,因为它是更开放和灵活的选择。Puppeter和chromium文件test.js:constpuppeteer=require("puppeteer");(async()=>{constbrowser=awaitpuppeteer.launch({args:["--no-sandbox"],headless:true,});constpage=awaitbro

javascript - 跨浏览器兼容音频有哪些选项?

我正在使用这个函数:functionplaySound(file){MyAudio=newAudio(file);MyAudio.play();}不幸的是,我正在努力寻找一种适用于所有浏览器的文件类型。Mp3在Chrome、Safari、IE中有效,但在FF和Opera中无效,而.ogg文件似乎只在FF中有效。关于解决此问题的任何建议?我想没有办法以编程方式检测正在使用哪个浏览器然后播放适当的文件类型?任何建议/想法表示赞赏。谢谢。 最佳答案 令人沮丧的是,没有普遍适用的类型。WAV最接近,但它相当大并且在IE9中不受支持。您需要有