2

我正在編寫一個Chrome擴展程序,用於偵聽Google文檔上的Web請求。我的所有代碼都在一週前工作過,當我今天打開Chrome再次運行時,我的webRequest監聽器不再起作用。Chrome擴展程序 - webRequest偵聽程序無法正常工作

我可以看到要通過的請求,但「REQUEST」從未打印到控制檯。這是我的代碼問題嗎?是否有新的Chrome更新導致此問題不再有效?

在Google文檔頁面的控制檯(不是我的擴展程序的背景頁面)中出現了一些錯誤,我也列出了它們的列表。

background.js:

chrome.webRequest.onBeforeRequest.addListener(
     function(request) { 
      console.log("REQUEST"); 
      if (request.url.indexOf('/save?') != -1) { 
      var requestBody = request.requestBody; 
      var docId = request.url.match("docs\.google\.com\/document\/d\/(.*?)\/save")[1]; 
      var data = { 
       "bundles": requestBody.formData.bundles, 
       "timeStamp" : parseInt(request.timeStamp, 10) 
      }; 
     parseData(data); 
     } 
    }, 
    { urls: ["*://*.google.com/*"] }, 
    ['requestBody'] 
); 

manifest.json的:

{ 
    "manifest_version": 2, 
    "name": "Document Difficulty Prediction", 
    "version": "0.1", 
    "background": { 
    "scripts": ["background.js"], 
    "persistent": true 
    }, 
    "permissions": [ 
    "webRequest", 
    "activeTab", 
    "*://*.google.com/" 
    ] 
} 

在docs.google.com控制檯錯誤列表:

獲取Chrome瀏覽器擴展:// ghbmnnjooekpmoecnnnilnnbdlolhkhi/page_embed_script.js net :: ERR_FAILED

jquery.min.js:3封鎖的腳本exe請參閱docs.google.com/document/d/1tMzarhc5tqcMR8-Rpm_ukJ20pXK2jH8Ekub8HqHP_50/edit,因爲文檔的框架已被沙盒化,並且未設置「允許腳本」權限。

未捕獲SecurityError:阻止原始clients5.google.com的框架訪問原始docs.google.com的框架。協議,域和端口必須匹配。

(所有三個錯誤消息的鏈接有HTTPS:他們之前//但我不得不刪除,因爲我沒有足夠的積分,有一個問題三通)

回答

2

這是一個修復的結果,以防止攔截其他擴展程序和應用程序的請求。他們不小心還阻止了託管應用程序。見crbug.com/510802#c60crbug.com/526413#c23

+0

謝謝!所以當錯誤被修復時,我的聽衆應該再次工作? – user2859994

+0

您現在可以通過刪除Google文檔託管應用來嘗試。 –

+0

Chrome Stable已更新至45.0.2454.93,其中包含該修補程序。 –