我对 Javascript 和 Crossrider 比较陌生。我相信我想做的是一件相当简单的事情——也许我在这里错过了什么?
我正在编写一个扩展程序,它会自动将您登录到 Dropbox,并在稍后将您注销。我可以自动将用户登录到 Dropbox,但现在我的客户希望我通过查找打开的 Dropbox 窗口并将每个人都注销来自动将这些人从 Dropbox 中注销。
他说他已经看到了,这是可能的。
基本上我想要的是一些允许我获取活动选项卡并设置这些选项卡的 location.href 的代码。甚至关闭它们。到目前为止,这是我得到的:
//背景.js:
appAPI.ready(函数($) {
// Initiate background timer
backgroundTimer();
// Function to run backround task every minute
function backgroundTimer() {
if (appAPI.db.get('logout') == true)
{
// retrieves the array of tabs
appAPI.tabs.getAllTabs(function(allTabInfo)
{
// loop through tabs
for (var i=0; i<allTabInfo.length; i++)
{
//is this dropbox?
if (allTabInfo[i].tabUrl.indexOf('www.dropbox.com')!=-1)
{
appAPI.tabs.setActive(allTabInfo[i].tabId);
//gives me something like chrome-extension://...
window.alert(window.location.href);
//code below doesn't work
//window.location.href = 'https://www.dropbox.com/logout';
}
}
appAPI.db.set('logout',false);
});
window.alert('logged out.');
}
setTimeout(function() {
backgroundTimer();
}, 10 * 1000);
}
});
当我做 appAPI.tabs.setActive(allTabInfo[i].tabId); 然后是 window.alert(window.location.href); 我得到地址“chrome-extension://xxx”——我相信这是我的扩展程序的地址,这完全不是我需要的,而是活动窗口的 URL!不仅如此,我还需要将当前窗口导航到注销页面......或者至少刷新它。有人可以帮忙吗?
-罗文 RJ
PS 早些时候我尝试保存我打开的 Dropbox URL 的窗口引用,但我无法将窗口引用保存到 appAPI.db,所以我改变了技术。帮助!