Chrome拡張のサンプル(リンク先を新しいタブで開く・背景画像のURL抽出)

ホスト名が異なるリンク先は新しいタブで開く
ホスト名を比較して異なっていればaタグのtargetに_blankをセットする。ホスト名の判定の部分を変えれば応用は色々きくと思う。画像は必ず新しいタブで開くとか。
manifest.json{
  "manifest_version": 2,
  "name": "NewTab",
  "version": "0.0.1",
  "content_scripts": [{
    "matches": ["<all_urls>"],
    "js": ["content.js"],
    "run_at" : "document_end"
  }]
}
content.jsvar anchors = document.getElementsByTagName('a');
for (var i = 0; i < anchors.length; i++) {
    var anchor = document.createElement('a');
    anchor.href = anchors[i].href;
    if (location.hostname !== anchor.hostname) {
        anchors[i].target = "_blank";
    }
}
背景画像のURLを抽出
CSSでbackground-imageで指定されている画像は、ひと手間かけないとURLが参照できないので、結構面倒な時がある。読み込んだページの背景画像のURLを抽出するサンプル。こんなんでいいんかな。
manifest.json{
  "manifest_version": 2,
  "name": "BackgroundImageURL",
   "version": "0.0.1",
   "content_scripts": [{
     "matches": ["<all_urls>"],
     "js": ["content.js"],
     "run_at": "document_end"
   }],
  "permissions": [
    "<all_urls>"
  ]
}
contents.jsfor (var i = 0; i < image.length; i++) {
    var bgimage = getComputedStyle(image[i]).getPropertyValue('background-image').match(/^url\((.+)\)$/i);
    if (bgimage != null && bgimage.length > 1) {
        console.log(bgimage[1]);
    }
}