草庐IT

javascript - 使用 dispatchEvent 触发所有浏览器事件

我正在考虑构建一个工具,将所有浏览器事件(本地dom事件,如.click()或jQuery事件)转换为标准形式。标准形式是:HTMLElement.dispatchEvent(newEvent(eventType,eventInitDict))例如,我想将HTMLElement.click()更改为HTMLElement.dispatchEvent(newEvent("click",{"bubbles":true,...}))用于所有事件。我的问题:是否存在从事件到此标准形式的完整映射,如果那么,它有任何记录吗?是否有任何可以触发但无法转换的事件到这个标准表格?jQuery会做一些我做

javascript - SVG/VML 浏览器兼容性表

我有兴趣找到一个浏览器兼容性表,该表列出了每个版本的Opera、Safari、Chrome、Firefox和InternetExplorer(Konqueror也不错)支持的SVG/VML部分,与Quirksmode类似。.我找到了以下两个SVG兼容性表,但它们都没有提供足够的详细信息:http://caniuse.com/#cats=SVG&statuses=rechttp://www.codedread.com/svg-support.php第一个链接中的信息似乎与Raphael等库冲突它声称完全支持Firefox3.0+和Safari3.0+中的动画,而链接表明动画模块直到这两个

Javascript 跨浏览器输入层

我正在制作一个广泛使用键盘的网络应用程序。我注意到内置浏览器事件处理在浏览器之间不一致,并且jQuery没有很好地规范化(例如,Firefox发送keypress退格键,chrome没有)。我想知道是否有一个javascript库可以标准化这些特性并为键盘事件处理提供一个统一的接口(interface)。 最佳答案 这里有几个:http://habrahabr.ru/blogs/jquery/76424/http://www.openjs.com/scripts/events/keyboard_shortcuts/http://wi

javascript - 哪些浏览器支持在 input[type ="file"] 元素上触发点击事件?

根据https://developer.mozilla.org/en/Using_files_from_web_applications,StartinginGecko2.0(Firefox4/Thunderbird3.3/SeaMonkey2.1),youcanhidetheadmittedlyuglyfileelementandpresentyourowninterfaceforopeningthefilepickeranddisplayingwhichfileorfilestheuserhasselected.像这样(使用jQuery):$('a.upload').click(f

javascript - 在浏览器中压缩音频的解决方案?

我正在努力将音频直接记录在浏览器中并发布到网络服务器。我目前依靠flash访问用户麦克风(使用从https://code.google.com/p/wami-recorder/派生的代码)并将记录的Wav/pcmblob从flash传递到JS以进行上传(使用XHRpost)。这工作正常,但我试图避免发送未压缩的WAV数据(我可以在服务器上压缩音频,但我试图限制那里的CPU密集型工作)。到目前为止,我发现在客户端压缩到ogg的选项包括:利用flash的lab特性将音频压缩成ogg(labs.byhook.com/2011/02/15/ogg-vorbis-encoder-for-flas

javascript - 从 C# Web 浏览器控件调用控件上的 Javascript 事件

我正在使用C#开发网络抓取工具,其中我有一个加载网页的网络浏览器控件,然后我收集数据并根据数据对其进行操作。我的问题是我需要将一些数据写入具有监听器的输入(文本框)。输入控件从不在html中显示值,它由控件上的事件触发的一些Javascript处理。我可以为控件值参数设置一个值,但是当我在表单上单击OK时它丢失了。我在网上搜索了好几天,现在我知道如何从C#调用Javascript,但我无法理解输入中的Javascript函数。输入控件如下所示:输入控件事件keyup、keydown、change、keypress和blur都调用这个Javascript:function(a){retu

javascript - 每个浏览器如何公开 JavaScript 的中间表示?

问题:我听说人们交替使用术语动态编译和解释。这不是关于语义的问题。很明显,当代码到达处理器时,它是某种二进制形式。我如何看待中间表示?例如,使用编译器选项可以很容易地查看汇编中的C代码。有没有类似的方法可以用JavaScript做到这一点?我不确定中介表示会被称为什么,但这里有一些一般引用。研究解释器(Wikipedia)动态编译(Wikipedia)编译(Wikipedia)澄清:这个问题与缩小无关。 最佳答案 如果您通过编译d8shell自己构建V8,则可以运行d8--print_code或d8--print_opt_code。

c# - 区分手机和平板浏览器

我知道这个问题已经被打死了,但我不想在这里做任何super复杂的事情。我们的网站有一个配套应用程序,仅与7英寸和10英寸平板电脑兼容。我们只需要提醒那些设备上的用户关于我们的应用程序。问题是,我不能按决议行事。我的GalaxyS3有一个1280x720的屏幕,但显然不是平板电脑。我也无法为我的生活找到一种方法来获得屏幕的物理尺寸。我想到的唯一解决方案是检测设备是否可以使用MobileCapabilities.CanInitiateVoiceCall进行调用。不幸的是,老板对这个解决方案不满意。那么...如何在我的网络应用程序(服务器端或客户端)中区分手机和平板电脑?更新:到目前为止,A

javascript - 在 Javascript 中使用 iFrame 进行跨浏览器打印

我想使用iFrame和javascript进行打印。以下是我的示例代码:JavascriptfunctionprintDiv(divP){window.frames["print_frame"].document.body.innerHTML=$(divP).html();window.frames["print_frame"].window.focus();window.frames["print_frame"].window.print();}HTML此代码仅适用于IE和Mozilla。其他浏览器正在打印白页。我不想使用媒体查询。可能的问题是什么? 最佳

javascript - 检测浏览器是否已经具有平滑滚动功能

我已经使用这段JavaScript在我的网站上添加了点击哈希链接时的平滑滚动。$('a[href*=#]').click(onAnchorClick);functiononAnchorClick(event){return!scrollTo(this.hash);}functionscrollTo(target){vare=$(target);vary=e.exists()?e.offset().top:0;if(y==0&&target!='#top')returnfalse;if(Math.max($('html').scrollTop(),$('body').scrollTop(