Tag: JavaScript

如何开发Gmail的Chrome扩展程序?

我正在考虑为Gmail开发Chrome扩展程序,我想知道目前的最佳做法。 例如: 将GPG签名默认附加到每封电子邮件 添加一个额外的button,做一些事情(我已经) 劫持发送电子邮件的行为,并促使我做一些事情 … (只是他们的例子帮助我发现什么是可能的) 有相当多的显着扩展,大大增强了Gmail的function: http://www.boomeranggmail.com/ http://toolbox.mxhero.com/ http://www.wisestamp.com/ … (我不隶属于他们中的任何一个,我只是命名了几个) 其中一个select是查看位于这里的源文件~/Library/Application Support/Google/Chrome/Default 但也许有(如意算盘)一个很好的教程/一套实践如何捣鼓的Gmail的用户界面和function? Gmail扩展/小工具API – 如何将button添加到撰写工具栏? 您将不得不以编程方式创build并注入button。 这将涉及到很多的Gmail源代码(扰stream:这是丑陋的)。 如何build立一个Chrome扩展添加面板到Gmail窗口? 您将面临的最大的长期挑战是gmail的布局将意外改变,并中断电子邮件发现或修改的用户界面。 这两个问题要么需要一些聪明才能解决,要么你会熬夜想知道Google是否会突然打破你的扩展。 http://www.jamesyu.org/2011/02/05/introducing-gmailr-an-unofficial-javscript-api-for-gmail/ 他们都在构build具有类似function的复杂API,如果Gmail决定大幅改变其应用程序结构(这是他们不可避免的),那么这些API都可以独立破解。 Gmail通过闭包编译器运行其代码,从而混淆了所有内容。 最重要的是,Gmail可能是最复杂的JavaScript应用程序之一。 由Parse的创始人图书馆 – https://github.com/jamesyu/gmailr – 但在1.5年没有更新。 我可以告诉你我到目前为止,只是知道我不是特别喜欢.oh.JZI.J-J5-Ji.TI-ax7select器 注意: http : //anurag-maher.blogspot.co.uk/2012/12/developing-google-chrome-extension-for.html (他也是这样做的,他也使用了这样一个混淆的select器) 的manifest.json "content_scripts": [ { "matches": ["https://mail.google.com/*"], "css": ["mystyles.css"], "js": ["jquery-2.1.0.js", "myscript.js"] } ] myscript.js var icon […]

JSLint正则expression式中的“insecure ^”

JSLint报告不安全'^'为下面的行。 这是为什么? 还是只是想抱怨任何时候我想否定一个字符类? // remove all non alphanumeric, comma and dash characters "!$7s-gd,&j5d-a#".replace(/[^\w,\-]/g, '');

Backbone.js能够做rest和本地存储?

我一直在尝试使用Backbone.js的本地存储模块(https://github.com/jeromegn/Backbone.localStorage)。 据我了解,这重载Backbone.sync,并因此停止推送到服务器的主干(?)。 理想情况下,我想将数据传回服务器,并在线时在本地保存,并在离线状态下使用本地存储(您知道,完美的应用程序)。 我还没有find任何文件。 Backbone.localStorage是这个的一部分吗? 有没有人能够build立这种情况? 这是怎么做的? (请告诉我,我不必自己动手。) 谢谢。

在Angular UI路由器嵌套状态的url更改,但模板不加载

我正在使用ui路由器嵌套状态和视图。 当我点击链接时,URL变成子状态的URL,但是模板不加载。 例如,当URL更改为子状态project/settings ,相应的模板project.settings.html不加载。 这是一个由普恩克尔提供的SSCCE 以下是我的代码: app.js myApp.config(function ($stateProvider, $urlRouterProvider){ $stateProvider .state('project', { url: "/project", views:{ "content":{templateUrl: "partials/project.html"}, "header":{templateUrl: "partials/header"} } }) .state('project.settings', { url: "/settings", views:{ "content":{templateUrl: "partials/project.settings.html"}, "header":{templateUrl: "partials/header"} } }) $urlRouterProvider.otherwise("/") }); /* cheching whether the user is authentic or not*/ myApp.run(function($rootScope,$location,$cookieStore,validateCookie,$state) { $rootScope.$on('$stateChangeStart',function(event,toState,toParams,fromState){ if($cookieStore.get('user')){ validateCookie.authService(function(result,error){ if(!result){ $location.path("/"); }else{ $state.go('project.settings'); } }); […]

如何获得承诺的价值?

我正在从Angular的$q文档看这个例子,但我认为这可能适用于一般的承诺。 他们有这个例子,逐字抄写他们的评论,包括: promiseB = promiseA.then(function(result) { return result + 1; }); // promiseB will be resolved immediately after promiseA is resolved and its value // will be the result of promiseA incremented by 1 我不清楚这是如何工作的。 如果我可以调用.then()对第一个.then()的结果进行链接,我知道我可以,那么promiseB是一个Objecttypes的promise对象。 这不是一个Number 。 那么它的意思是“它的价值将会是promiseA增加1的结果”呢? 我应该作为promiseB.value或类似的东西访问? 成功callback如何返回承诺并返回“result + 1”? 我错过了一些东西。

document.URL和location.href之间的区别

我知道document.URL不能被设置,而location.href可以。 但该文件指出: URL是DOM Level 0 location.href属性的替代品。 那么我们什么时候会使用document.URL呢?

JSLint的“容忍愚蠢”

任何人都知道JSLint的“容忍愚蠢”选项是什么? 它禁用哪些警告系列? 我发现了对Node.js和“Sync”方法的一些引用(包括Crockford的“非常好的命名”),但没有明确的答案。 谢谢。

我可以标记一个字段无效的JavaScript?

从阅读这篇文章,我发现有一些伪类为“无效”和“无效”的input值。 有没有一种方法,我可以标记input字段从JavaScript无效/有效? 或者,我可以重写使用的validation方法吗?

Meteor.js中内置的Web应用程序可以同时处理多less个用户?

我们正在build立一个networking应用程序,将在比赛中用来投票选手,并在中央显示屏上显示实时投票统计数据。 比赛将持续15分钟,大约4000名用户将在一段时间内连接到networking应用程序,并发送投票,但每个用户设备都是唯一的。 我们正在考虑使用Meteor.js开发这样的web应用程序。 然而,由于我们在开发这么大量的并发用户服务方面经验不足,以及Meteor.js的testing状态,我们对这个项目的实际可行性有一些担忧。 以下是我们正在处理的问题: 有meteor可以处理多less个并发用户的基准吗? 我认为这取决于networking应用程序本身的复杂性。 在我们的情况下,这将是相当直接的,只有用于中央显示的客户端将被订阅到实时的Mongo查询votes.find({}) ,其余的用户将只能看到已投票的button。 从一个真实的案例或testing场景获得一些数据将帮助我们很多。 Meteor的基础设施能够处理4000个用户吗? 或者我们应该去其他一些托pipe解决scheme列出在这个被删除的问题 (你需要10K +代表看到它)? 有没有Meteor.js特有的性能考虑,我们应该知道? 我们已经看到了类似的post,但是他们没有一个在这么短的时间内处理这么多的用户: meteor的服务器能处理多less负载? (2013) 在许多客户之间共享巨大的collections时,meteor可以有多高效? 另外,我们可以使用Cluster智能包 。 任何人有这方面的经验?

我怎样才能使用快递的webpack?

当我尝试使用一个简单的快递服务器的webpack时,我总是得到吨的错误: express.js 'use strict'; var express = require('express'); var path = require('path'); var url = require('url'); // ——– my proxy———————- var app = express(); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); app.set('port', process.env.PORT || 8080); app.use(function logErrors(err, req, res, next) { console.error(err.stack); next(err); } ); app.listen(app.get('port'), function() { console.info('Express server started at http://localhost:' + app.get('port')); }); […]