views:

39

answers:

1

I think I am having trouble visualizing what code goes where and what requests and responses go where.

Let's say I want to alter all <img> tags in the body of a document. I am sure I would adjust there styling in the inject.js file,...but would I still need to send a request to background.html? If so,...I am not sure what the response would be.

Thanks for your help!

(CONT)

Does this code make any sense? I am trying to grab <div> tags and make them disappear. Then reload them one by one (fifo) after each press of the command and semi-colon keys. Here is the .js file I wanted to inject.

var hideShowElements = document.getElementsByTagName('div'); 

var queue = [];

var active = false; 

function hide(){

    for (var i = 0; i < hideShowElements.length; i++) {

    hideShowElements[i].style.visibility == "hidden";
    queue.push(hideShowElements[i]);

    }           
}

hide();

document.onkeydown = function(k){
    if(k.isCtrl || k.keyCode == 91) active = true;
    if(active && k.keyCode == 186){

        for (var i = 0; i < queue.length; i++){

             queue[i].style.visibility == "visible";

        }
    }

}

document.onkeyup = function(k){
   if(k.isCtrl || k.keyCode == 91) active = false;
}
A: 

Content scripts (injected) have some limitations, as stated in the api:

Content scripts have some limitations. They cannot:

  • Use chrome.* APIs (except for parts of chrome.extension)
  • Use variables or functions defined by their extension's pages
  • Use variables or functions defined by web pages or by other content scripts
  • Make cross-site XMLHttpRequests

So if you need any of those you would need to send a request to a background page and ask to perform this action for you, otherwise background page is not required.

In your case you don't need to sent anything to a background page.

serg
any ideas on what i've edited above?
Chaz
@Chaz Looks like a piece of code to put in a content script. Not sure what the question is. Is something not working?
serg
Yeah..nothing is happening. I figured it would work...looks sound to me. Just thought I'd post it to see if anyone saw anything wrong with it. Thanks for any help though.
Chaz