0
我正在創建我的第一個Chrome擴展。我的目標很簡單,在某個網頁上,我想隱藏一個ID爲id的元素。 我已經創建了一個背景頁面,該頁面現在選擇ID爲someid 的元素並將其提醒到屏幕。問題是,ele的值是空的。 試過$(「#someid」)。hide();也沒有運氣。在Chrome擴展的標籤頁上找不到標識
有沒有什麼特別的我需要做的與選項卡中的DOM交互?我提醒 tab.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>
您的'文檔'這裏是背景頁面本身。爲了找到正確的'ele',你應該在該標籤文檔的上下文中調用'document.getElementById',即從內容腳本或'executeScript'執行的腳本中調用。 – Stan