草庐IT

问题处理

全部标签

javascript - 卸载事件处理程序是否保证在加载下一页之前完成执行?

我正在尝试了解卸载事件的工作原理。当用户移动到另一个页面时,我正在使用$(window).unload()处理程序将几个自定义值的列表发送到我的分析服务。我为每个值对服务进行单独的API调用。我只是想知道我是否可以依赖我的处理程序每​​次都运行直到它完成,或者在某些情况下加载下一页的JavaScript会在它可以注册所有值之前中断它列表。jQuerydocumentation在.unload()上说“无法使用.preventDefault()取消卸载事件。”对我来说,这意味着在浏览器开始执行您的卸载处理程序后,没有办法阻止它加载、解析和执行新页面的JS。但是MDNpage在window

javascript - 使用 node.js 进行音频处理

我的团队一直在产品中使用WebAudioAPI/Getusermedia,我们的chrome和firefox用户进展顺利。但我们仍然有大量的用户群,我们很想接触到,但由于技术障碍,我们仍然不能(主要是IE用户),因为他们的主要浏览器不支持该技术,而且他们不或无法更改为现代浏览器。我们计划接触这些用户,但我们不想接触Flash、Flex、Silverlight或任何类似的东西。因此,在考虑解决方案时,我认为如果将音频操作从浏览器移至服务器,也许我可以克服这个困难。NodeJS是试图弄清楚如何去做时的第一个答案。是否可以使用NodeJS来完成?是否有可用的库可以帮助我们实现这一目标?还有其

javascript - preventDefault() 在 Kendo 网格的自定义点击处理程序中不起作用

我已经为Kendo网格的“添加新记录”按钮添加了自定义点击处理程序,但JavaScript的preventDefault()函数似乎对其不起作用。$('.k-header').on('click','.k-grid-add',function(e){e.preventDefault();e.stopPropagation();//dosomethingelse});除了在网格中添加新行,我希望“添加新记录”按钮能做些别的事情。完整代码示例:JSFIDDLE 最佳答案 这行得通$('.k-grid-add').click(functi

javascript - 将对象引用保存到数组的性能问题

为什么v1比v2慢这么多?v1--varfoo=function(a,b,c){this.a=a;this.b=b;this.c=c;}varpcs=newArray(32);for(varn=32;n--;){ref=newfoo(1,2,3)pcs[n]=ref;//*****}v2--varfoo=function(a,b,c){this.a=a;this.b=b;this.c=c;}varpcs=newArray(32);for(varn=32;n--;){ref=newfoo(1,2,3)pcs[n]=1;//*****}我认为,因为我在“ref”中持有对新对象的引用,所以简

javascript - Shoutcast + Web Audio API CORS 问题

我有一个问题,我已经研究了一段时间,但没有真正的进展。我目前正在尝试将我的Shoutcast流加载到我的WebAudioAPI上下文中。我认为它会违反CORS,我是对的。我尝试通过XHR请求,然后再次通过将音频元素加载到脚本中。它与音频元素一起工作,但在尝试将其加载到脚本中时死了。似乎我唯一的选择是尝试以某种方式将CORSheader添加到我的Shoutcast正在服务的流中。我不知道该怎么做,也没有在网上找到资源。如果有人能给我一些建议,我将不胜感激!varaudioCtx=new(window.AudioContext||window.webkitAudioContext)();v

javascript - 使用 angular-ui-router 处理没有 hashbang 的路由

我在网上搜索了很多答案,但还没有找到任何答案。现在我的文件中有这段代码,我认为它可以处理除我指定的之外的所有路线/状态:$urlRouterProvider.otherwise('/');然而,此功能仅适用于像localhost:1337/#/stuff这样的路径,但如果我输入localhost:1337/stuff,我会得到一个丑陋的内部服务器错误。理想情况下,我希望localhost:1337/stuff或任何其他没有hashbang的URL重定向到localhost:1337/#/(我的应用程序的主页)。我有什么想法可以实现吗? 最佳答案

javascript - TypeScript 处理接口(interface)和类中多余属性的方式不同

我最近在TypeScript中偶然发现了这种奇怪的(imo)行为。在编译期间,只有当预期变量的类型是接口(interface)且接口(interface)没有必填字段时,它才会提示过多的属性。链接到TypeScriptPlayground#1:http://goo.gl/rnsLjdinterfaceIAnimal{name?:string;}classAnimalimplementsIAnimal{}varx:IAnimal={bar:true};//Objectliteralmayonlyspecifyknownproperties,and'bar'doesnotexistinty

javascript - 在 React 中柯里化(Currying)事件处理程序

我正在尝试在组件上编写一个(curried?)onChange事件处理程序,该组件将接收一个key参数,该参数将让它知道状态对象中的哪个键更新。代码无法编译,提示'key'isnotdefined。classAppextendsComponent{constructor(props){super(props);this.state={firstName:null,lastName:null}this.handleChange=this.handleChange.bind(this);}handleChange=(key)=(event)=>{console.log(key,event)

javascript - 使用 casper 进行实时聊天抓取(Youtube)。选择 polymer 元素的问题

我正在尝试使用casper从youtube实时聊天提要中抓取文本。我在选择正确的选择器时遇到问题。每条被推出的新消息都有许多嵌套元素和动态生成的元素。如何才能不断地拉动嵌套的somemessage当它们发生时?我目前似乎连一个都抓不到!这是我的测试代码:注意:您可以替换任何具有实时聊天提要的YouTube网址。constcasper=require("casper").create({viewportSize:{width:1080,height:724}});constua='Mozilla/5.0(WindowsNT6.1;Win64;x64;rv:47.0)Gecko/20100

javascript - Active Directory 集成问题 Nodejs

我是Nodejs的新手,我想使用AzureActiveDirectory进行身份验证。我按照提到的方式下载了Node并安装了NPMHerenpminstallexpressnpminstallejsnpminstallejs-localsnpminstallrestifynpminstallmongoosenpminstallbunyannpminstallassert-plusnpminstallpassportnpminstallpassport-azure-ad之后,根据文档,我遵循了第3步:设置您的应用以使用passport-node-js策略这是config.jsexport