草庐IT

OC分类(category)和扩展(extension)

全部标签

javascript - 扩展 String.prototype 性能表明函数调用快 10 倍

我想用一些实用方法扩展String对象原型(prototype)。它有效,但性能出奇的低。将字符串传递给函数比重写执行相同操作的String.prototype方法快10倍。为了确保这真的发生了,我创建了一个非常简单的count()函数和相应的方法。(我正在试验,并创建了该方法的三个不同版本。)functioncount(str,char){varn=0;for(vari=0;i结果:func:705msproto:10011msproto-reuse:10366msproto-var:9703ms如您所见,差异是巨大的。下面证明了方法调用的性能可以忽略不计,并且函数代码它自己对于方法

javascript - 在 chrome 扩展中尝试 OAuth 时如何解决登录屏幕永无止境的循环?

尝试使用身份API为我的chrome扩展学习oauth。我已将代码上传到https://github.com/Sandeep3005/learn-oauth-extension问题:当后台文件运行时-它会打开一个带有Gmail登录页面的新选项卡。但即使我提供了正确的凭据,登录页面也会一次又一次地出现,我不得不强制退出Chrome。StackOverflowSolution提供的解决方案-提到当chrome中的应用程序ID与https://console.developers.google.com中的应用程序ID不同时会发生这种情况.但是我检查并重新检查了它。app-ID的两个值都是准确

javascript - 在 PrimeNG 中扩展多个面板时如何修复损坏?

我正在处理多个面板,我添加了功能来展开/折叠它们。我的问题是,当我展开它们时,我在所有面板上看到了一个丑陋的损坏文本。有谁知道如何解决这个问题?这是我的工作代码:PLUNKERThestorybeginsasDonVitoCorleone,theheadofaNewYorkMafiafamily,overseeshisdaughter'swedding.HisbelovedsonMichaelhasjustcomehomefromthewar,butdoesnotintendtobecomepartofhisfather'sbusiness.ThroughMichael'slifeth

javascript - 如何将 Phaser 3 游戏及其 Assets 扩展到智能手机和平板电脑上?

我刚开始使用Phaser3和ApacheCórdova创建移动Android游戏。我创建了一个1200x800像素的游戏。它在平板电脑上看起来不错,但在智能手机上却不行。如何缩放它以在多种屏幕尺寸下工作?此外,我需要帮助来强制使用Phaser3调整游戏方向。谢谢 最佳答案 functioncreate(){window.addEventListener('resize',resize);resize();}functionresize(){varcanvas=game.canvas,width=window.innerWidth,h

javascript - Chrome 扩展程序发送 key

有没有办法从chrome扩展程序模拟按键?例如,当我单击扩展按钮时,我可以指定将键“ABC”发送到浏览器窗口。 最佳答案 很遗憾,没有(这是一个javascript问题,ChromeAPI不提供任何帮助)。您所能做的就是发送一个按键事件(例如,参见thisquestion),但您无法模拟实际的按钮按下。如果父页面监听按键事件,那么它将捕获它(这个事件不会像真正的按钮按下事件那样拥有所有信息,所以它可能仍然不起作用),否则什么也不会发生。 关于javascript-Chrome扩展程序发送

javascript - Firefox 扩展如何最好地避免污染全局命名空间?

在为Firefox开发扩展时,我一直在研究全局命名空间污染,我想在我的扩展中尽可能避免它。有几种解决方案,但一般来说,这些解决方案似乎只为您的扩展声明一个全局变量,并将所有内容放入其中。因此,您只需向全局命名空间添加一个额外的变量,这还算不错。顺便说一句,有人向我提出了一个解决方案,可以避免将任何额外变量放入全局命名空间;将所有内容包装在一个函数中。这里的问题是在您的XUL覆盖层中没有任何东西可以引用。您必须在叠加层中声明元素,然后在JS中添加大量的addEventListener来替换像oncommand="..."这样的东西在XUL中。我不想这样做;我绝对希望我的XUL在XUL本身

javascript - 在 Chrome 扩展程序中将文本复制到剪贴板

我正在编写GoogleChrome扩展程序,我想在内容脚本中复制剪贴板中的一些文本。我尝试选择它,然后选择document.execCommand('copy')-它不起作用。我不想要Flash,因为它不是实现它的简单而优雅的方法。我尝试了后台页面和-它不起作用。在Chrome扩展程序中是否有任何工作、优雅和简单的方法将文本复制到剪贴板?它还可以使用jQuery。问候 最佳答案 这里有一些可以复制/粘贴的工作(Coffeescript)代码:https://github.com/philc/vimium/blob/master/li

javascript - 使用可选的自定义函数 onclick 扩展单个 toastr 创建

我收到了这条关于点击toast时如何react的消息,所以我决定在这里发布给大家。当用户点击toast时,我并不总是希望消息消失,但取决于我想要的消息类型:消失。将用户重定向到另一个页面(xes/meetings/210)显示一个jquery对话框(例如:显示收到的短信)。使用基本的点击事件我无法检测到我点击的toast。我发现的唯一解决方法是在toast中添加一个链接,并在用户单击它时进行重定向。所以我要问的是一种通过使用基本的点击事件来获得用户点击的当前toast的方法(但这可能需要更多的工作来将数据隐藏在toast中以在单击以了解要做什么时恢复它),或者通过向创建toast的函数

javascript - 使用 grunt-contrib-connect 和 grunt-connect-rewrite 删除文件扩展名

我正在尝试从我的grunt网络应用程序中的文件中删除“.html”。http://testing.com/one/应该从该文件夹返回index.html,但如果没有尾部斜线(http://testing.com/one),它应该检查one.htmlgrunt-connect-rewrite似乎可以很好地处理我能找到的示例,但是从.html文件中删除文件扩展名似乎让我很痛苦。这里的规则类似于我在.htaccess文件中使用的规则。connect:{server:{options:{port:9000,keepalive:true,base:'dist',middleware:functi

javascript - Chrome 扩展 : how to change origin in AJAX request header?

我正在尝试在ajax请求header中手动设置来源。在我的background.js中,我有这个varajaxResponse;$.ajax({type:'POST',url:'www.somewebsite.com/login/login.asp',headers:{'origin':'https://www.somewebsite.com'},success:function(response){ajaxResponse=response;}});如您所见,原点已更改。但是当这个Chrome扩展被执行时,源被覆盖到chrome-extension://iphajdjhoofhlpl