Google chrome 在chrome扩展中的选项卡页上找不到id

Google chrome 在chrome扩展中的选项卡页上找不到id,google-chrome,google-chrome-extension,Google Chrome,Google Chrome Extension,我正在创建我的第一个chrome扩展。我的目标很简单,在某个网页上,我想隐藏一个id为someid的元素。 我已经创建了一个背景页面,它现在选择id为someid的元素 并向屏幕发出警报。问题是,ele的值为null。 已尝试$(“#someid”).hide();还有,运气不好 我是否需要做一些特殊的事情来与选项卡中的DOM交互?我提醒 tab.url,显示正确的url <html> <head> <script src="http://ajax.goog

我正在创建我的第一个chrome扩展。我的目标很简单,在某个网页上,我想隐藏一个id为someid的元素。 我已经创建了一个背景页面,它现在选择id为someid的元素 并向屏幕发出警报。问题是,ele的值为null。 已尝试$(“#someid”).hide();还有,运气不好

我是否需要做一些特殊的事情来与选项卡中的DOM交互?我提醒 tab.url,显示正确的url

<html>
 <head>
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
   <script src="http://code.jquery.com/mobile/1.0a4/jquery.mobile-1.0a4.min.js"></script>
   <script>
     $(document).ready(function(){
        chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){
        if(changeInfo.status == "complete")
          {
           if(tab.url.indexOf("somedomain.com") > -1)
            {
              chrome.tabs.getSelected(null, function(tab){
              var tabUrl = tab.url;
              chrome.tabs.executeScript(tab.id, {file: "background.js"},function({       
                       var ele = document.getElementById("someid");
                       alert(ele);
                                 });
              });

            }
          }
        });
      });
      </script>
    </head>
    <body></body>
</html>

$(文档).ready(函数(){
chrome.tabs.onUpdate.addListener(函数(tabId、changeInfo、tab){
如果(changeInfo.status==“完成”)
{
if(tab.url.indexOf(“somedomain.com”)>-1)
{
chrome.tabs.getSelected(空,函数(选项卡){
var tabUrl=tab.url;
executeScript(tab.id,{file:“background.js”},函数({
var ele=document.getElementById(“someid”);
警报(ele);
});
});
}
}
});
});

正如斯坦指出的,问题在于上下文不正确。我使用了一个内容脚本,解决了这个问题。谢谢!

您的
文档本身就是背景页面。为了找到合适的
元素
,您应该在该选项卡文档的上下文中调用
document.getElementById
,这是一个内容脚本或者在由
executeScript
执行的脚本内部。