2012-07-27 35 views
0

我爲我的Chromium(18.0.1025.151)瀏覽器安裝了擴展timeStats,但它無法正常工作。在調試過程中,我發現問題 - 在執行方法'chrome.tabs.query'期間,一條消息是:「Property'currentWindow':意外的屬性。」, 儘管此參數的文檔描述如下:http://code.google.com/chrome/extensions/tabs.html#method-querychrome.tabs.query:屬性'currentWindow':意外的

這是一個錯誤或可能修復錯誤?

一些代碼:

if (isWindowActive && !isWindowMinimized) 
{ 
    chrome.idle.queryState(parseInt(options.idle_time), function(state) { 
     //problem below 
     chrome.tabs.query({active: true, currentWindow: true}, function(tabs) { 
     //problem above 
      var tabId = tabs[0].id; 
      if (state=='active') 
      { 
       setBadgeColorActive(chrome.windows.WINDOW_ID_CURRENT); 
       //if browser active update the info 
       if (isLoaded) 
       { 
        update(true); 
       } 
      } 
      //set icon gray 
      else 
      { 
       chrome.browserAction.setBadgeBackgroundColor({color: badgeIdle, tabId: tabId}); 
       chrome.browserAction.setTitle({title: chrome.i18n.getMessage("freezed")+" "+options.idle_time+" "+chrome.i18n.getMessage("seconds_lcase"), tabId: tabId }); 
      } 
     }); 
    }); 
} 
+1

我幾乎可以肯定你在使用Ubuntu,不是嗎?不幸的是,Chromium PPA尚未更新一段時間。獲取最新版本的最簡單方法是使用Chrome(不是Chromium)。如果你更喜歡Chromium(當然可以),你可以從[源代碼](http://packages.debian.org/sid/chromium-browser)自己編譯Chromium(大約需要一個小時,這取決於你在建築/電腦規格)。你也可以考慮切換到ArchLinux,以獲得最新的軟件;) – 2012-07-27 09:37:32

回答

2

您在測試這個很老版本的Chromium(18),並在你的問題中提到的文檔指的是鉻的20版本。如果檢查changes to extensions APIs你會發現:

谷歌瀏覽器19

(...)

的chrome.tabs查詢()方法現在有currentWindow和lastFocusedWindow參數。

(...)

所以currentWindow不可用以前版本19.


獎金:

如果你依賴於currentWindow一定要設置minimum_chrome_version到19在manifest.json

+2

答案是正確的,除了一個小細節:[當前文檔]()在版本20(修訂版1132)。 (見[本頁](http://www.chromium.org/developers/design-documents/extensions/how-the-extension-system-works/docs/how-docs-are-served)瞭解如何獲得當前文檔的版本+版本號)。 – 2012-07-27 08:20:38

+0

不錯,謝謝。我不知道。我正在更新我的答案。 – 2012-07-27 08:25:14

相關問題