草庐IT

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

全部标签

javascript - 从 Firefox 扩展获取浏览器版本

我已经编写了一个Firefox扩展,目前正在为Firefox4更新它并添加一些新功能。Firefox4有一个很棒的新通知显示,我很想使用它并且找到了大量关于如何使用它的文档。但是,对于少于4个的任何内容,我都创建了我自己的具有特定样式的通知窗口。我的问题是:如何在我的扩展的javascript中检测我是否使用Firefox4。或者,有更好的方法吗? 最佳答案 您可以使用nsIXULAppInfo:varappInfo=Components.classes["@mozilla.org/xre/app-info;1"].getServi

javascript - 是否可以对 Chrome 扩展进行 Base64 编码?

我正在寻找base64编码我的chrome扩展的一部分。但是,当我尝试对其进行测试时,它不起作用。(扩展在未编码时工作正常)。是否可以对部分javascript进行Base64编码以用于Chrome扩展程序?如果是,怎么办? 最佳答案 全局atob方法可用于解码base64字符串(btoa可用于将字符串编码为base64)。解码字符串后,eval可用于将字符串解析为代码,并运行它。例如,这是打印当前扩展ID的单行代码:alert(eval(atob('Y2hyb21lLmkxOG4uZ2V0TWVzc2FnZSgnQEBleHRlb

javascript - 是否有扩展核心 js 类的任何好的 underscore.js 替代方案?

我发现_.something(somevar,some_function_or_other_thing);“语法”非常难看。使用类似ruby​​的迭代器和类似东西的一些好的替代方案是什么:10..times(function(i){console.log(i);});uppercasefoobar=["foo","bar"].each(function(i){returni.toUpperCase();});此外,我正在使用node.js,因此它应该更多地关注代码而不是DOM内容。 最佳答案 很惊讶没有人提到Lo-Dash.Lo-D

javascript - 如何使用javascript在文件上传中获取不带扩展名的文件名

这个问题在这里已经有了答案:HowtogetthefilenamefromafullpathusingJavaScript?(21个回答)关闭9年前。我将使用asp.net中的文件上传控件上传文件。现在我想使用java脚本获取不带扩展名的文件名。我想验证文件名应该只是整数格式$(function(){$('#').change(function(){varuploadcontrol=document.getElementById('').value;})})

javascript - TypeScript 在 Namespace 下扩展 JQuery

我正在尝试通过TypeScript中的函数扩展默认的JQuery接口(interface)和默认对象jQuery代码///namespaceMyNameSpace{var$=jQuery;exportinterfaceJQuery{test(options:Object):JQuery;}$.fn.test=function(options:Object):JQuery{if(this.length===0){console.log('Error!');returnthis;}console.log(options);returnthis;}exportvartestBody=func

javascript - 扩展 TypeScript 的控制台界面

我想在window.console全局添加一个对象。importReactotronfrom'reactotron-react-native';window.console.tron=Reactotron;尽管当我这样做时,TypeScript会提示新对象:errorTS2339:Property'tron'doesnotexistontype'Console'.我想扩展控制台界面:interfaceConsoleWithTronextendsConsole{tron:any};不过,我不确定如何将这个新界面分配给我的全局控制台对象?帮助会很棒!谢谢。 最佳

javascript - jQuery + 扩展 Object.prototype = "c.replace is not a function"

我在我的开源项目中使用jQuery1.5,我自己的Javascript代码中也出现了以下行:/***Object.isEmpty()**@returns{Boolean}*/Object.prototype.isEmpty=function(){/***@deprecatedSinceJavascript1.8.5*@seehttps://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object*/if(this.__count__!==undefined){returnthis.__count__===0?

javascript - 为什么 rails 在 coffeescript 文件不能包含 javascript 代码时使用 .js.coffee 扩展名?

我发现这相当具有误导性,因为我认为它暗示此类文件可能包含javascript和coffeescript代码的混合体。我是否遗漏了一些非常基本的东西? 最佳答案 在Rails中,模板的常见做法是使用.js.coffee、.html.erb、.html.haml等扩展名等如果我没记错的话,Rails将这些扩展解释为.[format].[builder]并使用这些知识来做两件事:通过[format]值与请求的Acceptheader中列出的可接受格式进行比较,找到合适的模板;通过[builder]值找到合适的模板处理器来解析您的模板。

javascript - 如何在扩展中播放音频?

AudioObj=newAudio;将返回“音频未定义”我还尝试了经典修复:varaudio=require("audio");但没有运气。我可以在扩展的其他部分而不是在main.js中添加音频播放,就像它工作的一些内容脚本一样,但也许有一个更简单和优雅的解决方案。 最佳答案 newAudio创建一个新的HTML元素-这仅适用于绑定(bind)到文档的上下文。SDK模块在没有文档的上下文中执行,因此没有DOM方法将起作用,包括这个方法。解决方法是加载about:blank通过page-workermodule并在那里注入(injec

javascript - Chrome 扩展程序 - 仅在单击按钮时运行内容脚本

我已经看过了,但我似乎无法找到并回答这个问题(好吧,一个对我有用的问题)。我制作了一个Chrome扩展程序,它应该只在单击图标时运行我的内容脚本中的代码,但它总是在页面加载后立即运行。有没有办法防止这种情况发生?我可以为run_at输入的所有可能字符串都不能真正满足此要求。这是两个脚本中的示例代码:内容脚本:functionrunIt(){console.log('working');}runIt();背景.js:chrome.browserAction.onClicked.addListener(function(activeTab){chrome.tabs.executeScrip