ホスト名が異なるリンク先は新しいタブで開く
ホスト名を比較して異なっていれば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]);
}
}