第一篇文章和新程序员提前道歉。我正在尝试编写一个可以在工作中使用的扩展程序(我是测试人员)。我们使用自制的自动化测试包,它可以使用我们自己的自定义框架。其中一项自动化任务是假设日期'。我正在寻找可以手动完成的扩展程序。
手动执行此操作的步骤是
通过查看示例并在此处提出一些问题,我可以完成第3步(可能非常糟糕,但是嘿,它确实做了它应该做的事情)。我还没有添加任何内容来自定义选择日期,稍后会发布,我只是想先把这些步骤放下来。
我的问题是,我想我想在步骤3完成时添加一个onUpdate函数。然后我可以用原始网址填写网址并按照说明。我虽然无法做到这一点。这是我的内容脚本,自定义网址在第7行。我注释了更新功能,因为它不适合我,我应该将它嵌套在第一个监听器中吗?)
// content.js
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if( request.message === "clicked_browser_action" ) {
var firstURL = $("a[href*='g.e']").eq(0).attr("href");
firstURL = firstURL.substring(0, firstURL.indexOf('?'));
var newURL = firstURL.concat("?Web.Test.Command=setLocalDate&date=01-07-2017");
chrome.runtime.sendMessage({"message": "open_new_tab", "url": newURL});
}
}
);
//chrome.tabs.onUpdated.addListener(
// function(request, sender, sendResponse) {
// if( request.message === "date_completed" ) {
// var newPage = $("a[href*='g.e']").eq(0).attr("href");
// newPage = newPage.substring(0, newPage.indexOf('?'));
// chrome.runtime.sendMessage({"message": "date_completed", "url": newPage});
// }
// }
//);
这是我的后台脚本
// background.js
// Called when the user clicks on the browser action.
chrome.browserAction.onClicked.addListener(function(tab) {
// Send a message to the active tab
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
var activeTab = tabs[0];
chrome.tabs.sendMessage(activeTab.id, {"message": "clicked_browser_action"});
});
});
//Receives the message from onMessage
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if( request.message === "open_new_tab" ) {
chrome.tabs.update({"url": request.url});
}
else if( request.message === "date_completed" ) {
chrome.tabs.update({"url": request.url});
}
}
);
//Receives the message from onUpdated
chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) {
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
var activeTab = tabs[0];
chrome.tabs.sendMessage(activeTab.id, {"message": "date_completed"});
});
});
那些负荷可能已经过时了。再说一遍,如果这没有意义,请告诉我,如果你想让我澄清一下,请告诉我。
tldr:我想在点击浏览器操作并加载该页面时转到特定网址,然后再转到另一个网址