在Chrome扩展程序的标签页上找不到ID

时间:2012-11-03 16:55:30

标签: google-chrome google-chrome-extension

我正在创建我的第一个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>

1 个答案:

答案 0 :(得分:0)

斯坦指出,问题在于背景不当。我使用了一个内容脚本来修复问题。谢谢!