【发布时间】:2017-05-24 02:49:03
【问题描述】:
我希望创建一个 Chrome 扩展程序,它可以在创建新事件时简单地添加一些功能。我想在“创建事件”视图中插入一个额外的字段,该字段将接受要存储的新元数据,即:项目名称、客户名称等。
到目前为止,我已经设法创建了扩展,设置了一个弹出视图,通过 contentscripts.js 将一些新的 html 插入到核心日历视图中,但我无法弄清楚以下内容:
1) 向事件创建视图添加新的文本输入字段
2) 根据 Google API (https://developers.google.com/google-apps/calendar/extended-properties) 将上述字段中的文本保存为“扩展属性”以供以后检索
对于尝试完成这样的任务,是否有人有任何建议或资源?
这是我的 Manifest.json 文件:
{
"name": "DoviChrome",
"version": "0.1.1",
"manifest_version":2,
"description": "DoviChrome",
"background": {
"persistent": false,
"scripts": ["background.html"]
},
"icons": { "16": "icon.png",
"48": "icon.png",
"128": "icon.png"
},
"browser_action": {
"default_icon": { // optional
"16": "icon2.png", // optional
"24": "icon2.png", // optional
"32": "icon2.png" // optional
},
"default_title": "DoviChrome", // optional; shown in tooltip
"default_popup": "popup.html" // optional
},
"permissions": [
"notifications",
"identity",
"storage",
"activeTab"
],
"content_scripts": [
{
// Change 'matches' attribute to load content
// script only in pages you want to.
"matches": ["*://calendar.google.com/calendar/render"],
"css": ["css/style.css"],
"js": ["js/lib/jquery-3.1.1.min.js", "js/lib/angular1.6.1.min.js", "contentscript.js"],
"run_at": "document_idle",
"all_frames": false
}
],
"web_accessible_resources": [ "img/*", "node_modules/*","*.png","https://www.parsecdn.com/js/parse-latest.js"],
}
...这是我在 contentscript.js 中使用的,用于在主日历视图中插入一些其他功能。
$(document).ready(function() {
console.log("contentscript.js loaded")
var iconURL = chrome.extension.getURL("icon.png");
console.log("Injecting UI...")
$("#calcontent #vr-nav").before("<div class='new-menu'>" +
"<div class='my-logo inline'><img src='" + iconURL + "'/></div>" +
"<div class='quick-report'>Create Timesheet</div>" +
"<div class='quick-settings'>Settings</div>" +
"</div>"
)
$('.quick-report').on("click",function(){
console.log("clicked reports")
})
$('div.quick-settings').on("click",function(){
console.log("Clicked settings")
})
});
【问题讨论】:
-
您可能想尝试使用Google Calendar Event Gadgets。此功能使您可以将几乎任何类型的内容添加到您的日历中。您可以选择使用 iCalendar 格式或 Google Calendar API v3 来创建日历事件小工具。
-
你好,你完成了这个扩展吗?
-
不,我还没有。部分,但仍在寻找上述问题的解决方案。你也想这样做吗?
-
警告:日历小工具现已弃用,2018 年 1 月 31 日后将不再受支持
标签: javascript google-chrome google-chrome-extension google-calendar-api