使用omnibox扩展程序加载页面后是否可以运行javascript?

时间:2017-06-07 02:20:12

标签: javascript google-chrome-extension omnibox

我正在尝试构建一个多功能框扩展。基本上我想要这个扩展来提取一个网址,然后等待该网址加载,然后执行一些简单的JavaScript。

不确定是否感谢将长段代码放入问题中,如果没有,请随时对我大喊大叫。

的manifest.json:

{
    "manifest_version": 2,
    "name": "AutoATR",
    "version": "0.1",
    "omnibox": { "keyword" : "atr" },
    "icons": {
      "16": "package.png"
    },
    "background": {
      "persistent": true,
      "scripts": ["background.js"]
    }
}

background.js:

function resetDefaultSuggestion() {
  chrome.omnibox.setDefaultSuggestion({
  description: 'atr: Placeholder: %s'
  });
}
resetDefaultSuggestion();

function navigate(url) {
  chrome.tabs.query({active: true, currentWindow: true}, function(tabs) 
{
  chrome.tabs.update(tabs[0].id, {url: url});
  });
}

function finder(theID) {
  document.getElementById('theElement').value=theID
  document.getElementsByClassName('btn')[1].click()
}

chrome.omnibox.onInputEntered.addListener(function() {
    // Navigate to URL
    navigate("https://theURL.com");
});

// **** Would like to wait for just this tab to load. 
// Then Execute finder(). ****

1 个答案:

答案 0 :(得分:0)

您可以将清单用于您的任务: 将选项卡的后台脚本位置中的位置更改为pathURL,并在manifest.json中添加下一个代码:

  "content_scripts": [{
            "matches": ["http://pathURL"],
            "js": ["js/script.js"]
        }]

js / script.js将在您的浏览器标签路径与" http://pathURL"匹配后加载图案。