2012-01-29 19 views
0

私はクロムエクステンションに取り組んでいますが、私の目標は「http://www.facebook.com/events/*」のURLにのみエクステンションを適用しようとしています。私は私の拡張機能を適用しようとすると、ちょうど「http://www.facebook.com/」、拡張子が実行され、不要なアウト与え続けるために、しかしChrome拡張機能のマニフェストファイル権限の一致が機能しません。

{ 
    "name": "my extension", 
    "version": "1.0", 
    "description": "my extension", 
    "browser_action": { 
     "default_title": "myextension", 
     "default_icon": "icon.png" 
    }, 
    "background_page": "background.html", 
    "permissions": [ 
     "tabs", "http://www.facebook.com/events/*" 
    ] 
} 

これが私のマニフェストファイルであります行動。何が起こっていると思いますか?ありがとうございました!

+0

「しかし、私が単に「http://www.facebook.com/」にエクステンションを適用しようとすると、エクステンションは実行され続けます。望まない行動を出す。それはどこを走り続けますか?もしあなたが 'http:// www.facebook.com/events/* 'にそれを適用したいのであれば、それを' http:// www.facebook.com'に変更するのですか? –

+0

私は ' http://www.facebook.com "'と書かれているので、私は '' http://www.facebook.com ''で動作しないと完全に期待しています。私のエクステンションはexecuteScriptを使ってJavaScriptを意図したウェブサイトに注入しているので、単に "http://www.facebook.com"なら拡張機能を実行したくありません。しかし、私が拡張機能を読み込んでfacebook.comに移動すると、拡張機能は '' http://www.facebook.com/events/* "' –

答えて

1

私は、バックグラウンドページがまだ実行中のJavaScriptを参照している(またはJavaScriptを直接持っている)と仮定していますか?

あなたが設定したpermissionstabsであるため、この許可に関係なくバックグラウンドページは常にロードされます。あなたは読み込みから背景ページ上のコードを防ぎたいなら、あなたはこのような何かを実行する必要があります。

ブラウザアクションがクリックされたときにのみ、スクリプトが含まれる次のいずれか

chrome.browserAction.onClicked.addListener(function(tab) { 
    //do something 
}); 

かからスクリプトを防ぎます

chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) { 
    if (tab.url.indexOf("//www.facebook.com/events/") > -1) { 
    // do something   
    } 
}); 
+0

になる許可を指定しても実行されます!ありがとう! –

関連する問題