Category: Google / Facebook / Amazon / Twitter / Network

改造FullCalendar增加节气、节日和农历显示, add lunar for FullCalendar

网上看了FeiFei些的《fullCalendar改造计划之带农历节气节假日的万年历》文章,按照他的方法改造发现他用的是老版本的插件,新版本代码结构变动很大,无奈自己重新读源码改造之,记录下来,给有需求的朋友一点参考。 FullCalendar官网(https://fullcalendar.io/) 改造使用新的版本,v 3.0.1。 首先看下改造成功后的预览图吧: 一、汉化 现在插件已经自带了本地化文件,所以直接加载插件包中的locale/zh-cn/js即可。 二、增加农历,节气,节假日显示 关于直接调用Google Calendar的订阅我就不说了,墙的厉害。 下面说说直接修改源文件,这个就麻烦点,不过自定… Read More

JAVA: Google Sheet API V4 入门二 :基本写入

利用 Sheets API,您可以向单元格、范围、范围集以及整个工作表写入值和公式。 本页面上的示例说明了如何使用此 API 的 spreadsheets.values 集合实现一些常用的写入操作。 请注意,也可以使用 spreadsheet.batchUpdate 方法写入单元格值,如果您希望同步更新单元格格式设置或 spreadsheets.values 集合不会影响的其他属性,此方法将非常实用。不过,对于简单的值写入操作,使用 spreadsheets.values.update 或 spreadsheets.values.batchUpdate 更简单。 在这些示例中,占位符 spreadsheetId 用于表示您需要提供… Read More

JAVA: Google Sheet API V4 入门一 :基本读取

利用 Sheets API,您可以读取单元格、范围、范围集以及整个工作表中的值。 本页面上的示例说明了如何使用此 API 的 spreadsheets.values 集合实现一些常用的读取操作。您也可以使用 spreadsheets.get 方法读取单元格值,不过在大多数情况下,使用 spreadsheets.values.get 或 spreadsheets.values.batchGet 更加简单。 在这些示例中,占位符 spreadsheetId 用于表示您需要提供电子表格 ID 的位置,可以从电子表格网址中找到此 ID。要读取的范围在请求网址中使用 A1 表示法指定。 这些示例均假设要读取的电子表格在其第一个工作表(“Sheet… Read More

Chrome Extension: Chrome.storage 存储API简单使用 (缓存,cache)

有时候我们不满足于localStorage只能保存string的单调功能,那么试一试chrome.storage中存储多种类型的本领? *.本文中的操作实例仅仅使用storage.local,其他API都类似。 声明权限 { "permissions": ["storage"] } 保存数据 // chrome.storage.local.set函数需要两个参数,一个为存储对象,一个为回调函数 chrome.storage.local.set({ string: '可以存储字符串', array: ['或者', '数组'], object: {k: '或者', v: '对象'}, int: 111 }, function(){ console… Read More

Chrome Extension : 事件交互实例 (消息传递, sendMessage,connect,onConnect,onMessage)

alert.js alert('hello ' + document.location.href); manifest.json { "manifest_version": 2, "name": "Click to execute", "description": "Execute script after click in popup.html (chrome extension) http://stackoverflow.com/questions/20764517/execute-script-after-click-in-popup-html-chrome-extension.", "version": "1.0", "icons":… Read More

Javascript: 二维数组转一维数组(合并数组) Convert a 2D array to a 1D array

Here, I’m trying to convert arrToConvert to a 1D array. var arrToConvert = [[0,0,1],[2,3,3],[4,4,5]]; console.log(get1DArray(arrToConvert)); //print the converted array function get1DArray(2dArr){ //concatenate each element of the input into a 1D array, and return the output //what would be the best way to implement this function? }  … Read More

JavaScript: JSON对象 (JSON格式, JSON.stringify()和JSON.parse()的用法)

JSON格式 JSON格式(JavaScript Object Notation的缩写)是一种用于数据交换的文本格式,2001年由Douglas Crockford提出,目的是取代繁琐笨重的XML格式。 相比XML格式,JSON格式有两个显著的优点:书写简单,一目了然;符合JavaScript原生语法,可以由解释引擎直接处理,不用另外添加解析代码。所以,JSON迅速被接受,已经成为各大网站交换数据的标准格式,并被写入ECMAScript 5,成为标准的一部分。 简单说,每个JSON对象,就是一个值。要么是简单类型的值,要么是复合类型的值,但是只能是一个值,不能是两个或更多的值。这就是说,每个JSON文档只能… Read More

Chrome 插件 DIY

1 前言 对于一个web前端开发者,chrome浏览器是一个工作,学习和生活的必备工具。除了chrome本身的基本能力(控制台等)外,能大幅提高这个神器的使用体验的是,可扩展能力(插件)以及丰富的插件生态。 每个人根据使用习惯会有自己的一套插件配置(鼠标手势、代理配置等等),这些插件包括具体的插件的配置信息,甚至可以和你的google账号绑定,当你换一台电脑,只要使用相同的google账号登录chrome,就会享受到一致的使用体验。 当你打开chrome的“扩展程序”界面,看着琳琅满目的插件,有没有想过亲自动手,打造一个自己的插件呢?当然,这种想法不应该是闲着某个部位疼,刻意的去开发一个连自己都不会实… Read More

下载被屏蔽的gmail附件 Retrieving Gmail blocked attachments

Before services like Dropbox were widely available, some people (including me) were using their Gmail account as a primitive backup solution: Compress your directory and send it to your gmail. There. Backup complete. However, nothing is so easy… Recently, I wanted to retrieve one of these backups, a .rar containing the complete source code (since it wa…

Google App Scripts 自定义函数(custom function)笔记

1. 自定义函数不可以使用setValue(), 但是通过onOpen添加到menu上的fucntion可以使用setValue() 2. onEdit 可以使用setValue function onEdit(event) { var sheets = SpreadsheetApp.getActiveSpreadsheet(); var tab = event.source.getActiveSheet(); var cell = event.source.getActiveRange(); var target = cell.getA1Notation().toString(); var value = cell.getValue(); // on… Read More

Google App Scripts 内置常用函数 custom functions (字符串,翻译,日期,搜索,复制模板,getRang,getSheetValues等)

1. google apps script string replace 文本代替 var FILE = SpreadsheetApp.openById("xyz"); var CONTENT = FILE.getSheetByName("Sheet1"); var A1 = CONTENT.getRange("I17").getValue(); var A1String = A1.toString().replace(".", ""); 2. google apps script string split 文本分割成数组 function myFunction() { var array1 = splitTest(); Logger.log(array1); } fu… Read More

Google Apps Script 入门 Beginner guide to coding with Google Apps Script

Introduction to Google Apps Script What is Google Apps Script or G.A.S.? It’s a cloud based scripting language for extending the functionality of Google Apps and building lightweight web-based applications. What does this mean in practice: It’s a coding language where you can write small programs performing custom behaviors that go beyond the standard… Read More

如何查看chrome扩展的源代码, chrome扩展二次开发

在chrome浏览器地址栏里输入 chrome://extensions/  打开扩展页面 记录要查看的扩展的ID 在地址栏输入 chrome://version/ 找到 配置文件路径 这一项。将路径拷贝 在Ubuntu下,~/.config/google-chrome/Default/Extensions/xxxx 在Windows7下,C:Users<username>AppDataLocalGoogleChromeUser DataDefaultExtensionsxxxx” 一般是上面的地址 将上面拷贝的路径输入资源管理器的地址栏,进入Extensions目录 进入目录名是扩展ID 的… Read More

Chrome插件(Extensions)开发攻略

本文将从个人经验出发,讲述为什么需要Chrome插件,如何开发,如何调试,到哪里找资料,会遇到怎样的问题以及如何解决等,同时给出一个个人认为的比较典型的例子——获取网页内容,和服务器交互,再把信息反馈给用户。OK,准备开始吧,我尽量把文章写得好看点,以免读者打瞌睡。 为什么需要 简单地说,浏览器插件,可以大大的扩展你的浏览器的功能。包括但不仅限于这些功能:捕捉特定网页的内容,捕捉HTTP报文,捕捉用户浏览动作,改变浏览器地址栏/起始页/书签/Tab等界面元素的行为,与别的站点通信,修改网页内容……给你增加许多想象空间,试想想看,你可以用它来识别一些网站上的广告代码,并直接把这些代码删掉,这样你就不… Read More