草庐IT

javascript - iframe.contentWindow.document Chrome 替代品?

全部标签

javascript - 如何从 iframe(跨源)访问 onfocus 事件?

我有一个使用onfocus事件的html应用程序。切换浏览器选项卡时,它工作得很好。现在,当我将该应用程序作为另一个html页面中的iframe加载时,它无法正常工作,因为在切换选项卡时iframe没有聚焦。如何从iframe访问onfocus事件无需修改顶层代码。iframe和加载iframe的页面不是同源的。if(!window.parent.frames.length){window.onfocus=function(){//dosmth};}else{//???} 最佳答案 您可以使用HTML5可见性API。它允许您检测用户

javascript - 如何将 bower 包依赖项排除在我的汇总包之外?

我目前正在创建一个导出单个ES6模块的bower包。在为我的包构建dist时,我使用rollup将我所有的内部模块移动到一个模块中,只导出一个模块。Gulp任务://BundleES6modulesintoasinglefilegulp.task('bundle',function(){returngulp.src('./src/GuacaMarkdownEditor.js',{read:false}).pipe(rollup({//anyoptionsupportedbyrollupcanbesethere,includingsourceMap//https://github.com

Javascript\x 转义

我见过一些其他的程序有这样的东西:varstring='\x32\x20\x60\x78\x6e\x7a\x9c\x89';而且我不得不尝试摆弄数字和字母,以找到我想要显示的文本。我想知道是否有一个函数可以找到字符串的\x转义,比如JS中的string.toUpperCase()。我正在使用processingJS,但我可以使用其他编程语言来查找\x的ASCII。 最佳答案 如果你有一个你想转义的字符串,你可以使用String.prototype.charCodeAt()如果您有带转义的代码,您可以只计算它们以获得原始字符串。如果它

javascript - 使用原型(prototype) [javascript] 的未定义结果

所以我正在使用javascript学习原型(prototype),并尝试了一些代码:functionEmployee(name){this.name=name;}varm=newEmployee("Bob");varworking={isWorking:true};Employee.prototype=working;alert(m.isWorking);不幸的是,我收到了未定义的消息,而不是真实值。这个结果有什么原因吗?我做了几个测试。我得出的结论是,重新分配原型(prototype)对象会导致任何先前创建的Employee类实例无法访问在新分配的原型(prototype)中找到的任

javascript - Nodejs 与 promise 并行

我有一个这样的字典:{go:['went','run'],love:['passion','like']}键的值是它的同义词。'getSynonymWords(word)'是一个异步函数,它返回一个promise,其中它的值是与传递的参数对应的同义词列表。我怎样才能像这样循环遍历对象以递归地获取另一个对象:{went:[],run:[],passion:[],like:[]}这是我的一段代码:functiongetRelatedWords(dict){returnnewPromise(function(resolve){varnewDict={};for(varkeyindict){i

Javascript 数组?

这可能完全是愚蠢的,但考虑到我在我的浏览器控制台中输入了这个:vararr=[];arr.item='val';console.log(arr);arr;arr;语法在幕后做了什么?我假设console.log(arr);正在迭代arr对象的所有属性,但是arr;在做什么?[]是否也告诉我我正在处理一个数组类型的对象,而{}告诉我我正在处理一个对象文字类型的对象?所以[item:'val']是一个原型(prototype)为数组的对象,而{item:'val'}是原型(prototype)对象字面量的对象?编辑:另一种问这个问题的方式可能是为什么console.log和arr;不同?

javascript - 这个 AngularJS 工厂示例究竟是如何工作的?一些疑惑

我是AngularJS的新手,我正在学习教程。我对Angular中工厂的使用有疑问。我知道工厂是一种用于根据请求创建对象的模式。所以在例子中有如下代码://Createsvaluesorobjectsondemandangular.module("myApp")//Getthe"myApp"modulecreatedintotheroot.jsfile(intothismoduleisinjectedthe"serviceModule"service.value("testValue","AngularJSUdemy")//Defineafactorynamed"courseFacto

javascript - 如何从 Cordova 文件传输插件获取 mimeType?

我正在开发混合移动应用程序。在其中一种情况下,我们需要在选择或上传文件时从文件中获取mimeType。我正在使用apacheFileTransfer。window.resolveLocalFileSystemURL(fileURI,resolveOnSuccess,resolveOnFail) 最佳答案 您可以从cordovaFile插件中获取它。$cordovaFile.checkFile(uri,'').then(function(entry){//successvarname=entry.name;entry.file(fun

javascript - 如何为 setInterval() 函数编写测试用例

我有一个计时器并假设当计数器计数到3时将执行一个特定的函数。vara_interval_function=function(){varcounter=1;varinterval=setInterval(function(){if(counter===5){clearInterval(interval);}//runthefunctionwhenthecounteris3if(counter===3){a_function_should_be_runned();}counter++;},500);returninterval;}但是,我不知道如何建立一个有效的测试用例来测试计数器以及函数

javascript - 在什么情况下你会使用一个返回另一个函数的函数(Javascript)?

感谢thisquestion我了解一个函数如何使用两组括号以及一个函数如何返回另一个在返回后立即触发的函数。我不明白的是为什么知道这个好?如何应用它来解决问题?示例:functionadd(x){returnfunction(y){returnx+y;};}add(3)(4)===7;//true工作正常-当然。但为什么不直接这样写呢?functionadd(a,b){returna+b;}add(3,4)===7;//true 最佳答案 让我们使用您提到的相同代码。functionadd(x){returnfunction(y){