草庐IT

卸载内置

全部标签

javascript - 如何区分刷新或关闭窗口触发的卸载事件?

卸载事件可以被刷新Action和窗口关闭Action触发。有没有办法区分实际触发它的Action?在我的情况下,我想忽略刷新操作。您能告诉我一些解决方法吗?我注意到已经有这种question问,但似乎他们都没有解决。因此我又提出了这个问题,希望有聪明的人能解决这个问题。 最佳答案 我不相信浏览器可以区分这两个事件。两者都是unload事件,并且都将调用您创建的任何unload函数。 关于javascript-如何区分刷新或关闭窗口触发的卸载事件?,我们在StackOverflow上找到一

javascript - Chrome/Safari 在某些情况下不调用卸载

几天来一直被这个问题困扰,真的需要,并且会很感激一些帮助。我的要求是,当用户离开我们的页面而不单击注销时,我想进行服务器端回调以清除一些对象。出于商业原因,我们的ASP.NETsession超时必须设置为非常高的值。此外,我不想弹出警告/对话框来强制用户返回页面并单击注销。到目前为止,我找到的解决方案是通过在页面中嵌入此javascript来进行AJAX回调。window.onunload=pageleave;functionpageleave(){alert('test');PageMethods.CheckLogout('abc','xyz',OnSucceed,OnFail);}

javascript - 扩展内置的 javascript Promise

我正在尝试用一种新方法扩展javascriptpromise。在这种情况下,这个新方法称为foo,它实际上执行如下操作:Promise.foo=function(arg){returnthis.then(function(result){returnresult.foo(arg);});};所以简而言之,foo()函数是等待promise解决然后在结果上调用foo()的快捷方式。这个函数的本质是它可以被链接起来,就像then()一样。myPromise.foo(a).foo(b).foo(c);我觉得这应该是可能的,但我只是不确定正确的路径是什么。这是我试过的:varFooPromis

javascript - 列出对象的内置属性

有没有办法让我循环遍历Javascript对象的内置属性?for...in让我接近我想去的地方,但是“for...in循环不会遍历内置属性。” 最佳答案 我意识到这个问题已经有三年了,但是现在,有了ES5,有可能:>>>Object.getOwnPropertyNames(Object)[“原型(prototype)”、“getPrototypeOf”、“getOwnPropertyDescriptor”、“键”、“defineProperty”、“defineProperties”、“创建”、“getOwnPropertyName

javascript - 如何锁定(或沙箱)JDK 的内置 Javascript 解释器以运行不受信任的脚本

我们有一个Java应用程序,想使用内置的Javascript解释器(javax.script.*)运行不受信任的代码然而,默认情况下,解释器允许访问任何java类。例如,脚本中的“java.lang.System.exit(0)”将关闭JVM。我相信这叫做“LiveConnect”,有关详细信息,请参阅Sun的“JavaScriptingProgrammer'sGuide”。我想以某种方式关闭脚本访问Java类的能力,即我只希望脚本能够访问我使用eval()或ScriptEngine上的put()方法。我找到了一些关于如何使用旧的独立版本的解释器(Rhino)实现此目的的文档,例如参见

javascript - 什么时候*不*使用内置的新作品?

这个问题在这里已经有了答案:What'sthedifferencebetweenArray(1)andnewArray(1)inJavaScript?(4个答案)Whatisthe'new'keywordinJavaScript?(16个答案)关闭8年前。在使用内置JavaScript对象和构造函数时,我发现有些奇怪。有时,可以通过调用不带new的构造函数来获取新对象。例如:>newArray(1,2,3,4)[1,2,3,4]>Array(1,2,3,4)[1,2,3,4]但有时这不起作用:>Date()"ThuJun05201400:28:10GMT-0600(CST)">newD

javascript - 使用内置 API 检查文字对象是否包含在其他对象中

我的意思是,当对象B的所有属性都包含在对象A中并且其值在对象A中相同时,对象B包含在对象A中。varobj_b={a:1,d:3}varobj_a={a:1,b:22,c:33,d:3}//-->obj_bincludesinobj_avarobj_c={a:1,f:4};isIncluded=(small,big)=>Object.keys(small).every((k)=>big[k]===small[k])console.log('Does"obj-b"includedin"obj-a"?',isIncluded(obj_b,obj_a))console.log('Does"o

javascript - 如何解决内置 AngularJS 应用程序的依赖问题?

我是AngularJS的新手,正在创建一个将使用Grunt构建的应用程序。当我构建和运行我的应用程序时,我注意到一些与依赖项加载顺序相关的问题:UncaughtError:[$injector:nomod]Module'mycompany.admin.forms'isnotavailable!Youeithermisspelledthemodulenameorforgottoloadit.Ifregisteringamoduleensurethatyouspecifythedependenciesasthesecondargument.http://errors.angularjs.o

javascript - 为什么 JavaScript 允许访问覆盖内置对象中的现有属性

通常java脚本允许覆盖(扩展新行为)任何功能,除了那些未卡住或密封的对象。在JavaScript中,Math是一个内置对象。但为什么JavaScript允许访问覆盖内置对象中的现有属性?请查看屏幕截图:最初我发现min函数在MathObject中可用。我已经用函数更新了“min”属性。此操作替换了现有代码。为了更清楚起见,我从“min”中删除了该属性。这里删除应该删除扩展行为而不是核心行为。但为什么要删除核心属性? 最佳答案 扩展或修改native代码称为monkey-patching,这是一个设计特征而不是设计缺陷。在Javas

javascript - 列出javascript中的所有内置函数?

在js中有没有一种方法可以列出所有内置函数及其参数列表中的一些信息?我真的找不到任何关于反射的东西来做这种事情编辑:Math.sin等函数其实就是我要罗列的,其实都是内置函数。 最佳答案 也许是这样的?for(varxinwindow){if(window[x]instanceofFunction)console.log(x);}这将在控制台中列出所有native函数(不包括native对象中的函数,例如Math.sin())。 关于javascript-列出javascript中的所有