这是一个使用pageAction的非常简单的Chrome扩展程序。它评估当前URL,如果URL匹配条件(位置,确实),则在地址栏中放置一个图标,并在用户单击图标时将URL(使用原始位置中的位)更改为新位置。
构建Chrome扩展程序非常简单直接。文档很简单,Google提供了一些可以调整和构建的代码示例。最后,CWS易于部署。
但是,我没有尝试在FF或Safari中做同样的事情。
有人可以给我一些代码示例和包装建议的指导吗?
谢谢!
Background.js
function checkForValidUrl(d, c, e) {
if (c.status === "loading") {
var b = e.url.split("/")[2];
var a = e.url.split("/")[3];
if (b === "www.somewhere.com" && a === "unfiled") {
chrome.pageAction.show(d)
}
}
}
chrome.tabs.onUpdated.addListener(checkForValidUrl);
chrome.pageAction.onClicked.addListener(function (b) {
var a = b.url.split("/")[4].split("+").slice(0, 1);
chrome.tabs.update(b.id, {
url: "http://www.somewhere.com/filed/" + a
})
});
清单
{
"name": "MyExtension",
"version": "1.0",
"description": "This is nifty",
"background": { "scripts": ["background.js"] },
"page_action" :
{
"default_icon" : "icon-19.png",
"default_title" : "Click to do your stuff"
},
"permissions" : [
"tabs"
],
"icons" : {
"48" : "icon-48.png",
"128" : "icon-128.png"
},
"manifest_version": 2
}
答案 0 :(得分:2)
此答案仅适用于Safari。
对于此扩展程序的Safari版本,您需要的原材料是:
<script>
或.js文件的形式提供使用Extension Builder创建新的空扩展后,在扩展程序的文件夹中创建上述文件,或将其移动到扩展程序的文件夹中。在Extension Builder中,选择您的全局页面。创建一个工具栏项,为其指定标签和标识符,然后选择工具栏按钮图像。您还需要为工具栏项指定一个命令;只需输入任何字符串,例如“munge-url”。
在全局脚本中,您将为“command”事件添加一个侦听器,当用户单击工具栏按钮时,Safari将发送到全局页面。监听功能将读取当前选项卡的URL,将其固定,并将选项卡的URL设置为已选中。像这样:
safari.application.addEventListener('command', function (evt) {
if (evt.command == 'munge-url') {
var currentTab = safari.application.activeBrowserWindow.activeTab;
var oldUrl = currentTab.url;
var newUrl = mungeUrl(oldUrl);
currentTab.url = newUrl;
}
}, false);
当然需要定义mungeUrl
函数。
那应该是关于它的。如果您想获得想象力,可以添加基于当前选项卡的URL禁用或启用工具栏按钮的代码;为此,您需要一个“验证”事件的监听器,这将在Safari扩展开发指南的this page中讨论。