0

我遇到了一個內容腳本的奇怪問題。內容腳本在清單中定義爲"run_at" : "document_end"。加載頁面後,腳本會將對象標記插入頁面(如果具有預定義標識的標記尚不存在),並在其中設置一些屬性,例如type,width,height,innerHTMLtitle。所有的工作都很好。從Chrome的內容腳本訪問DOM對象屬性

function checkForObject() 
{ 
    var obj = document.getElementById("unique_id"); 
    if(obj == null) 
    { 
    var d = document.createElement("object"); 
    d.id = "unique_id"; 
    d.width = "1"; 
    d.height = "1"; 
    d.type = "application/x-y-z"; 
    d.title = "1000"; 
    d.style.position = "absolute"; 
    d.style.left = "0px"; 
    d.style.top = "0px"; 
    d.style.zIndex = "1"; 
    document.getElementsByTagName("body")[0].appendChild(d); 
    } 
} 

checkForObject(); 

我看到在網頁的HTML代碼中的新對象,在其屬性正確的價值觀。

一段時間後,我需要閱讀同一內容腳本中的對象的title屬性。代碼很簡單:

function ReadTitle() 
{ 
    var obj = document.getElementById("unique_id"); 
    var value = obj.title; // breakpoint 
    console.log(value); 
    // TODO: want to use proper title value here 
} 

功能是從background.html頁面調用:

chrome.tabs.onActivated.addListener(
function(info) 
{ 
    chrome.tabs.executeScript(info.tabId, {code: 'setTimeout(ReadTitle, 250);'}); 
}); 

不幸的是,在ReadTitle我越來越不是我所期望的。取而代之的是title的電流值的我看到的記錄值是:

function title() { [native code] } 

如果我設置爲由// breakpoint註釋標記,我在守望,所有的對象屬性,包括title是正確的看行斷點。儘管如此,變量value獲得了上述的描述性字符串。

顯然,我錯過了一些簡單的事情,但我無法弄清楚。

答案。這是npapi插件中的一個錯誤,它包含使用類型的對象。對於所有閱讀過有意提供幫助的問題,我表示歉意。

+0

這甚至沒有足夠的信息來重現問題。我的腳本設置和獲取屬性,包括'title'整天。 (1)**設置**標題的代碼是什麼? (2)什麼是目標頁面(確切的URL最好)? (3)您使用的是哪個版本的Chrome? (4)什麼操作系統? (5)鏈接到或發佈完整的腳本。 –

+0

@BrockAdams,目標頁面不同。該腳本旨在處理所有頁面(匹配清單中的「*:// */*」)。我現在添加更多代碼。 – Stan

回答

0

在對象中使用的NPAPI插件錯誤地報告title作爲支持的方法。