草庐IT

additional-methods-and-properties

全部标签

javascript - react 导航 2 : How to check previous scene and to disable tab change

我有一个标签导航。我的其中一个选项卡有一个表单,如果我的表单数据未保存,我想禁用导航事件。在ver.1中,tabBarOnPress方法提供了previousScene、scene和jumpToIndex,所以我可以检查我要离开的场景并访问它的Prop。现在在ver.2中,tabBarOnPress方法为场景提供了navigationProp,但是之前的场景Prop不见了:/navigationOptions:{tabBarOnPress:({navigation,defaultHandler})=>{//Checkthepreviousscreen//IfIamleavingtheh

Javascript : setTimeout and interface freezing

上下文我有大约10个复杂的图表,每个图表需要5秒来刷新。如果我对这10个图进行循环,刷新大约需要50秒。在这50秒内,用户可以移动滚动条。如果移动滚动条,刷新必须停止,当滚动条停止移动时,刷新再次发生。我在循环中使用setTimeout函数让界面刷新。算法是:渲染第一张图setTimeout(渲染第二张图,200)第二张图渲染完成后,在200ms内渲染第三张图,以此类推setTimeout允许我们捕获滚动条事件并在下一次刷新时清除超时以避免在移动滚动条之前等待50秒...问题是它不会随时运行。采用以下简单代码(您可以在这个fiddle中尝试:http://jsfiddle.net/Bw

javascript - 单页应用程序 : auth token management and browser refreshes

在开发Angular应用时,我有一个单页应用,它与JSON网络服务通信以获取数据。我的Angular应用程序中的“登录”实际上只是用用户名/密码交换token。该token作为所有后续请求的header传递,以便服务器可以授权它们。当然,在用户刷新浏览器窗口(通过刷新或离开“页面”并返回)之前,这非常有效。显然,一个选择是让用户再次输入他们的用户名/密码,但这似乎是一个没有任何用户的好方法。我可以想到4个选项:将token存储在安全sessioncookie中。(我现在在做什么。我只是在使用,以便客户端可以读取。在服务器上未使用或不需要。)使用某种本地存储来存储token。(会不安全并

javascript - 添加到 ace-editor 明智的自动完成 : List user-defined functions and variables (javascript language)

我想将用户定义的函数和变量列表添加到ace编辑器的自动完成功能中。为此,我想检查用户插入到文档中的所有代码,找到定义的函数(及其参数)、定义的变量及其作用域等。主要问题这些数据是否已经在ace源代码(或语言插件)的某处计算出来,我可以通过某种方式获取它?`我想要什么例如,如果用户插入这样的代码:varvar0='abcd';functionfoo(var1,var2){varvar3='efg';}我想在自动完成框中添加名为“foo”的函数,它有两个参数——var1和var2。我还想将var0添加到变量列表中,并在用户在定义的范围内(在函数中)写入时添加var3。我已经知道的:我知道如

javascript - IE 和 javascript : efficient way to decode (and render) b64-encoded PDF blob

必须有一种方法可以更有效地做到这一点。我所做的在概念上非常简单:1)调用网络服务并接收PDFblob的b64编码字符串。2)解码,创建blob,在新窗口中呈现PDF。考虑弹出窗口拦截器。我的代码有效。没有什么花哨。它的所有客户端。一切正常,但与其他浏览器相比,IE运行速度super慢(IE11与当前的Chrome/Firefox/Safari)。鉴于此,我确信我可以更有效地做到这一点。关于如何为IE11加快速度的任何提示?注意:我使用的是Jeremy的b64toBlob函数(感谢Jeremy)。第一部分:模态内容varbox=newSimpleDialog(Dialogs.getNex

javascript - 错误 : bundling failed: TypeError: Cannot read property 'bindings' of null

我在运行react-native应用程序时也遇到了同样的问题。我使用的版本如下:nativereact:0.57.1reactnativecli:2.0.1节点:v8.11.3npm:5.6.0Babel版本详情:"devDependencies":{"@babel/runtime":"^7.0.0","babel-jest":"20.0.3","babel-preset-react-native":"^2.1.0","jest":"20.0.4","react-test-renderer":"16.0.0-alpha.12","schedule":"^0.4.0"},"jest":{

javascript - 通过 property 或 setAttribute 设置属性

其中一个比另一个更可取吗?为什么?性能如何——如果这些被调用了数千次?A)element.setAttribute("disabled",true);B)element.disabled=true;它们似乎都禁用了FF4中的input[text]元素。 最佳答案 一般来说……使用属性。很长一段时间(直到版本7或8IIRC),InternetExplorer的setAttribute实现严重中断,它会设置属性而不是属性(经典的失败点是class因为没有class属性(它是className)。特别是在这种情况下......elemen

javascript (jquery) 数字输入 : keyCode for '3' and '#' are the same

我需要设置一个这样它将只接受数字字符、退格键、删除、输入、制表符和箭头。周围有很多例子,我从类似的开始:functionisNumericKeyCode(keyCode){return((keyCode>=48&&keyCode=96&&keyCode在我按下“#”键之前,一切都完美无缺。在我的法语加拿大键盘中,“#”有自己的键(不暗示转换)返回keyCode51,与数字“3”相同。我认为在美式键盘中,“#”是通过按shift+3获得的,这可能是它们具有相同键码的原因。现在我意识到我还必须处理shift和alt键,但那是另一回事了。它与提供charCode属性的jquery按键事件不同

javascript - Jest : Mock ES6 Module with both default and named export

我有一个带有默认导出和命名导出的ES6模块:/**/src/dependency.js**/exportfunctionutilityFunction(){returnfalse;}exportdefaultfunctionmainFunction(){return'foo';}它被第二个ES6模块使用:/**/src/myModule.js**/importmainFunction,{utilityFunction}from'./dependency';//EDIT:Fixedsyntaxerrorincodesample//exportdefaultmyModule(){expor

javascript - meteor ,铁 :Router Passing Multiple Properties on Router. 去

我的困境是我想将多个对象属性传递给Meteor中的iron:router路由。原因是我想向它传递一个属性来命名我的url和一个属性来查找一个集合项。它们彼此完全独立,我不能使用url属性,因为它不是集合项中的值。这就是我所拥有的:Template.items.events({'click':function(){itemName=this.name.replace(//g,'')Router.go('itemDetails',{itemName:itemName})}});问题是尽管路由器处理得很好并将我发送到正确的url,但我无法使用itemName找到我正在寻找的集合项目对象(假设