Chrome扩展程序修改newtab页面正文? [英] Chrome extension modify newtab page body?

查看:742
本文介绍了Chrome扩展程序修改newtab页面正文?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有Chrome扩展,它将新的div添加到页面主体。但是当我试图在newtab页面上运行它时,它不起作用。



以下是我的 background.js

  chrome.tabs.executeScript(null,{file:commonAddWidget.js}; 
});


解决方案

我发现可以通过添加内容脚本并发送消息在点击浏览器上的扩展程序图标后点击它。
$ b background.js:

 chrome.browserAction.onClicked.addListener(function(tab){
chrome.tabs.query({'active':true,'lastFocusedWindow':true},function(tabs ){
var url = tabs [0] .url;
if(url.indexOf('chrome:// newtab')> -1){
chrome.tabs.query( {active:true,currentWindow:true},function(tabs){
chrome.tabs.sendMessage(tabs [0] .id,{someObject:someValue});
});
}
});});

contentScript.js:
$ b

  chrome.runtime.onMessage.addListener(
函数(请求,发件人,sendResponse){//此代码可以修改NewTab页面,并且只会修改它});


I have chrome extension, which add new div to page body. But it doesnt work when i`m trying to run it on newtab page.

Here is my background.js:

chrome.browserAction.onClicked.addListener(function(tab) {  
    chrome.tabs.executeScript(null, {file: "commonAddWidget.js"};
}); 

解决方案

I found that it can be resolved by adding content script, and sending a message to it after clicking on extension icon on browser.

background.js:

chrome.browserAction.onClicked.addListener(function(tab) {  
chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function (tabs) {
    var url = tabs[0].url;
    if (url.indexOf('chrome://newtab') > -1) {
        chrome.tabs.query({active: true, currentWindow: true},     function(tabs) {
          chrome.tabs.sendMessage(tabs[0].id, {someObject: someValue});
        });
    }
}); }); 

contentScript.js:

chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {// this code can modify NewTab page, and will modify only it });

这篇关于Chrome扩展程序修改newtab页面正文?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆