我試圖設置一個類似於http://code.google.com/chrome/extensions/trunk/samples.html#webrequest的Chrome擴展,不同之處在於,當get請求由於任何原因失敗時,它會使用onErrorOccurred偵聽器而不是重定向到特定的已知頁面。Chrome擴展API v17:webRequest onErrorOccurred.addListener
manifest.json的:
{
"name": "Custom Error",
"version": "0.1",
"description": "Redirect all navigation errors to specified location/file.",
"permissions": [
"webRequest",
"tabs",
"<all_urls>"
],
"background": {
"page": ["error_listener.html"]
}
}
error_listener.html:
<!doctype html>
<script>
chrome.webRequest.onErrorOccurred.addListener(
function onErrorOccurred(details) {
console.log('onBeforeRequest ', details.url);
return { redirectUrl: 'http://www.google.com' }
},
{urls: ["<all_urls>"]}
//{urls: ["http://*/*", "https://*/*"]}
);
//chrome.tabs.update(details.tabId, {url: "http://www.google.com", ['blocking']});
//alert("what?");
</script>
擴展負載不表示任何錯誤但瀏覽器選項卡不重定向。我曾試過使用Chrome 16和Chrome 17;使用Chrome 16的時候,我沒有改變「chrome.webRequest」到「chrome.experimental.webRequest」,並增加「實驗性」的權限列表。
到目前爲止,好像問題是,當該擴展程序出現在看鑲邊時要加載://擴展,文件沒有實際加載 - 使用開發工具的時候,我沒有看到任何參考error_listener.html。
我也曾嘗試運行Chrome 17以下標誌:
8611 25/01/12-11:22:05> google-chrome --restore-last-session
--debug-on-start --log-level=0 --enable-logging
--enable-extension-activity-logging --enable-extension-alerts
--debug-plugin-loading --debug-print | tee > log1.txt
很顯然,我只是那種戳在與命令行黑暗各地。任何人有任何線索如何得到這個工作?在此先感謝您的幫助!
謝謝,這解決讓網頁加載的問題(現在有「考察活動的意見」爲選項擴展名爲chrome:// extensions),現在我只需要調試javascript :) – waynr