Chrome扩展程序在下一个选项卡上返回上一个选项卡

布兹卡91

我想将选项卡更改为下一个,在那里对HTML进行一些操作(例如获取一些数据),然后返回“主”选项卡。总是打开两个选项卡。我可以更改选项卡(使用background.js),它应该处于活动状态,但是当我尝试获取html时,它始终会获取background.html ...有没有办法从第二个选项卡获取html代码?我想我也可以“返回上一个标签”,所以我真正需要的是:从第二个标签获取html(如果可能,我可以在html上执行操作吗?)

manifest.json

{
  "manifest_version": 2,

  "name": "name",
  "description": "desc.",
  "version": "1.0",

"background": {
  "scripts": ["background.js"]
},

"content_scripts" :[
{
  "matches":[
    "http://www.thecrims.com/*"
  ],
  "js":["contentscript.js"]
}
],

"permissions": [
  "http://www.thecrims.com/*",
  "https://www.thecrims.com/*",
  "background",
  "tabs"
],
"browser_action": {
  "default_icon": "icon.jpg"
}
}

contentscript.js到background.js的调用

chrome.runtime.sendMessage({greeting: "hello"}, function(response) {
  console.log(response);
});

background.js

chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {

console.log(sender.tab ?
            "from a content script:" + sender.tab.url :
            "from the extension");
if (request.greeting == "hello")
{
    chrome.windows.getLastFocused(
         // Without this, window.tabs is not populated.
         {populate: true},
         function (window)
         {
          var foundSelected = false;
          for (var i = 0; i < window.tabs.length; i++)
          {
           // Finding the selected tab.
           if (window.tabs[i].active)
           {
            foundSelected = true;
           }
           // Finding the next tab.
           else if (foundSelected)
           {
            // Selecting the next tab.
            chrome.tabs.update(window.tabs[i].id, {active: true, selected: true});

            //GET HTML FROM ^
            chrome.tabs.query({currentWindow: true, active: true}, function (tabs) {
                console.log(tabs[0]);//this give me BACKGROUND.HTML html... i want from tabs[0]!!
            });

            return;
           }
          }
         });
  sendResponse({farewell: "goodbye"});
}
});
可汗

我想您正在尝试从开发工具中运行此程序,以打开背景页面。

然后,活动窗口(由询问tabs.query)将与具有单个选项卡的“开发工具”窗口完全相同。

您为什么还要运行query您已经有选项卡window.tabs[i],可以使用代替tabs[0]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

引导程序选项卡:表单的下一个和上一个按钮

CodeIgniter + Bootstrap选项卡,重新加载不会返回到上一个活动选项卡

引导程序:下一个按钮应显示下一个选项卡

在Mac上移至下一个/上一个选项卡快捷方式不起作用

转到下一个和上一个选项卡的通用按钮

选项卡背景色幻灯片过渡到下一个选项卡

XPath选择下一个选项卡/列

具有上一个和下一个按钮的Bootstrap 4选项卡

下一个上一个Bootstrap选项卡

尝试向<TabbedForm>的<Toolbar>添加下一个按钮以滚动选项卡

如何防止在vue-form-wizard中转到下一个选项卡?

WPF VB移至下一个选项卡

单击按钮转到下一个选项卡,否则不允许按下一个选项卡

jQuery UI选项卡:链接到选项卡中的下一个/特定选项卡

单击HTML中的输入时如何转到下一个选项卡?

如何使用下一个和上一个链接制作一个简单的选项卡

从选项卡式框中滚动到下一个和上一个选项卡

3个选项卡,每个选项卡带有1个片段,按返回时将转到上一个选项卡

引导选项卡-下一个和上一个

将选定的 ListFragment 的行项目详细信息(当前选项卡)传递给另一个 ListFragment(下一个选项卡)

Jquery - 将下一个按钮添加到选项卡

关闭 UL LI 选项卡并移至上一个选项卡

关闭选项卡时自动移动到下一个/上一个 UL LI 选项卡

显示下一个选项卡引导程序角度 js

getWindowHandles() 在 Firefox 中不起作用 58.焦点仍然在父选项卡上,不会转移到下一个选项卡

在 TabBarView 中颤动 PageView:滚动到页面末尾的下一个选项卡

从当前选项卡内部移动到下一个选项卡

如何存储我从上一个屏幕获得的 lastid 并获取该 id 并在下一个选项卡中单击该 id

React Bootstrap 5 - 带有上一个下一个按钮的选项卡组件