3

ここに示されている webRequest の例に従っています。この単純な拡張機能は、すべてのリクエストをコンソールに記録する必要がありますが、それを行っていません。私の実際のコードには、ページの境界線の色を赤に変更する行が含まれており、それが機能するため、拡張コードが実行されていることがわかります。

拡張機能をロードするには、ボタンabout:debuggingを使用してロードしますLoad Temporary Add-on

これが私の実際のコードです

マニフェスト.json

{
    "description": "something something dark side",
    "manifest_version": 2,
    "name": "Interceptz",
    "version": "1.0",
    "icons": {
        "48": "icons/border-48.png"
    },

    "applications": {
        "gecko": {
            "id": "borderify@mozilla.org",
            "strict_min_version": "45.0"
        }
    },

    "permissions": [
        "webRequest",
    "*://*.mozilla.com/"
    ],

    "content_scripts": [
        {
            "matches": ["*://*.mozilla.org/*"],
            "js": ["intercept.js"]
        }
    ]
}

ご覧のとおり、mozilla ページで指定されている例からマニフェストを変更しました。変更を加えずにその json をコピーして貼り付けると、Firefox が拡張機能をロードすることさえできないためです。

インターセプト.js

document.body.style.border = "5px solid red";

function logURL(requestDetails) {
  console.log("Loading: " + requestDetails.url);
}

chrome.webRequest.onBeforeRequest.addListener(
  logURL,
  {urls: ["<all_urls>"]}
);

ここに画像の説明を入力

4

2 に答える 2

3

コンテンツ スクリプトに webRequest API を配置することはできません。manifest.jsの名前をmanifest.jsonに変更し、パーミッションを修正するには、 intercept.jsを分離する必要があります。

manifest.json :

{
"description": "something something dark side",
"manifest_version": 2,
"name": "Interceptz",
"version": "1.0",
"icons": {
    "48": "icons/border-48.png"
},

"applications": {
    "gecko": {
        "id": "borderify@mozilla.org",
        "strict_min_version": "45.0"
    }
},

"permissions": [
    "webRequest"
],

"background": {
  "scripts": ["background.js"]
 },

"content_scripts": [
    {
        "matches": ["*://*.mozilla.org/*"],
        "js": ["intercept.js"]
    }
]
}

インターセプト.js :

document.body.style.border = "5px solid red";

background.js :

function logURL(requestDetails) {
  console.log("Loading: " + requestDetails.url);
}

chrome.webRequest.onBeforeRequest.addListener(
  logURL,
  {urls: ["<all_urls>"]}
);

もちろん、 /icons/border-48.png を追加するには

于 2016-07-18T12:42:20.887 に答える