私は延長をして遊んでいます。ユーザーが拡張機能をインストールしている場合は、Webページでクリックしたリンクをキャプチャしたいと考えています。これをどうやって行うのかは分かりませんが、それは単純なようです。プラグインがインストールされ、有効になっている限り、この機能を有効にしたいと思いますが、ユーザーがツールバーの中で何かをやって「アクティブにする」必要がないようにしてください。ユーザーがページをクリックするリンクをキャプチャします
開始方法がわかりません。そして、私は、あまりにも多くのJSファイルを持っているが、そのうちの1人がコンソールにログを取ろうとしていると思う。どちらもありません。私の最終目標は、特定の場所に行くとそれらをイントラネットページにリダイレクトすることです。
background.js
var redirectedSites = ["https://www.facebook.com/profile.php?id=<SOMEPROFILEID>"];
// when the browser tries to get to a page, check it against a list
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
console.log('is this even getting hit?');
for(var i=0; i < redirectedSites.length; ++i) {
// if the attempt is to a listed site, redirect the request
if(details.url == redirectedSites[i])
return {redirectUrl: "http://intranet/landing?from=" + details.url };
}
},
{urls: ["*://www.facebook.com/*"]},
["blocking"]
);
manifest.jsonを
{
"name": "Capture Click",
"version": "0.1",
"description": "Simple tool that logs clicked links.",
"permissions": [
"tabs",
"webRequest",
"webRequestBlocking",
"https://*.facebook.com/*"
],
"background": {
"scripts": ["background.js"]
},
"manifest_version": 2
}
メッセージリスナーは2つありますが、メッセージ送信者はありません。すべてのページにjQueryコードを実行し、メッセージを送信する[コンテンツスクリプト](http://code.google.com/chrome/extensions/content_scripts.html)を含める必要があります。 – apsillers
OK本当にそのページを読んでいます。それを指摘してくれてありがとう。 :) – Nathan
私のlocalhostでうまくいったが、その後Facebookで試してみたところ、同じタスクを何度も繰り返して10回中1回console.logがヒットした。奇妙な。 – Nathan