草庐IT

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

全部标签

javascript - 禁用 chrome 扩展程序的徽章

我正在开发一个显示通知的chrome扩展程序。我正在使用这些函数chrome.browserAction.setBadgeBackgroundColor和chrome.browserAction.setBadgeText显示通知。这是它的样子:在用户看到通知后我想移除这个徽章。我试图让它变得透明,但结果是这样的:任何人都可以帮助我如何删除徽章,或者是否有其他方法可以实现我想要的?解决方案写空文本时,徽章消失。 最佳答案 要删除徽章计数,只需将文本设置为空字符串即可:chrome.browserAction.setBadgeText(

javascript - 扩展 native 类型的 ES6 类使 instanceof 在某些 JavaScript 引擎中表现异常?

考虑以下ES6类:'usestrict';classDummy{}classExtendDummyextendsDummy{constructor(...args){super(...args)}}classExtendStringextendsString{constructor(...args){super(...args)}}consted=newExtendDummy('dummy');constes=newExtendString('string');console.log(edinstanceofExtendDummy);console.log(esinstanceofEx

javascript - 如何在动态加载的 Typescript 中扩展类

我通过npminstall@types/googlemaps将googlemapsJSAPI与google.maps命名空间一起使用。我相信API是动态加载的,因此google.mapsJS全局不能立即可用。但我不明白为什么我会收到运行时错误:UncaughtReferenceError:googleisnotdefined当我尝试使用扩展google.maps.Marker时code>class但不是interface//Noproblem!exportinterfaceUuidMarkerextendsgoogle.maps.Marker{uuid:string;}//Uncaug

javascript - 在 Chrome 扩展程序中多次执行内容脚本

目前,我们有一个在manifest.json文件中初始化的内容脚本,如下所示:"content_scripts":[{"matches":["https://docs.google.com/*"],"js["content.js"],"run_at":"document_start","all_frames":true,"match_about_blank":true}],设置为在用户每次加载google文档时运行。但是,通过查看控制台日志,内容脚本似乎被多次加载(是否注入(inject)了正确的词?)到新选项卡中,因为我们获得了多个控制台日志。我在其他一些答案中读到,这可能与以下事实

javascript - 在 Javascript ES6 的子类中扩展父类方法

我想在父类中扩展子类的特定方法的功能。我还在习惯ES6中的OOP,所以我不确定这是否可行或违反规则。我正在寻找这样的东西:classParent{constructor(elem){this.elem=elem;elem.addEventListener((e)=>{this.doSomething(e);});}doSomething(e){console.log('doingsomething',e);}}classChildextendsParent{constructor(elem){//setsupthis.elem,eventlistener,andinitialdefin

javascript - 如何在 Metro Bundler 的 metro.config.js 中附加扩展名?

我正在尝试捆绑markdown文件而不产生太多开销(即不将它们手动添加到Xcode和AndroidStudio中的Assets包,不使用第3方依赖项)。我的想法是允许require()通过调整metro.config.js中的metrobundler设置来包含它们:/***MetroconfigurationforReactNative*https://github.com/facebook/react-native**@format*/module.exports={transformer:{getTransformOptions:async()=>({transform:{expe

javascript - 用于扩展 jQuery 的奇怪语法

我最近在另一篇文章(jQuerySetCursorPositioninTextArea)上看到这段代码newfunction($){$.fn.setCursorPosition=function(pos){//functionbodyomitted,notrelevanttoquestion}}(jQuery);在试图理解它在做什么之后花了很长时间,我终于弄清楚它只是创建一个带有参数$的新函数,然后使用jQuery作为参数值调用它。所以实际上,它只是这样做:jQuery.fn.setCursorPosition=function(pos){//functionbodyomitted,n

dom - DOM 扩展/包装究竟是什么?

我有两个主要问题。Object之类的扩展是否算数?什么是DOM包装?http://perfectionkills.com/whats-wrong-with-extending-the-dom/读完那篇文章后,我找不到任何关于DOM包装的信息,也没有任何规范以及究竟什么是DOM扩展,什么不是DOM扩展。 最佳答案 不,Object被指定为Javascript语言的一部分,而DOM是一个API仅在浏览器环境中相关并且是用于“访问和更新文档的内容、结构和样式”(W3C).但是,那篇文章中提供的反对扩展DOM对象的理由之一仍然适用于扩展原生

javascript - Ajax 调用无法使用 list v2 的 chrome 扩展

我正在尝试使用类似这样的基本chrome扩展chrome.omnibox.onInputChanged.addListener(function(text,suggest){varbaseUrl="http://sample.com";varfinalResult=[];$.ajax({url:baseUrl,dataType:"jsonp",success:function(result){for(vari=0;i这适用于list版本1,但是当我将其更改为v2时,出现以下错误。我将不胜感激:)拒绝加载脚本'http://sample.com',因为它违反了以下内容安全策略指令:“sc

javascript - 多种分类的 Backbone.js 集合

我有一个包含名称和日期的待办事项列表。我希望能够使用标题或日期对列表进行排序。我该怎么做?比较器只允许一种类型的排序。谢谢。 最佳答案 可以在比较器中实现更多逻辑,以便您可以抽象出一些排序逻辑:varCollection=Backbone.Collection.extend({model:myModel,order:'name'comparator:function(model){if(this.order==='name'){returnmodel.get('name');}else{returnmodel.get('date')