Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2017
539
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. var self = require('sdk/self');
  2. var tabs = require("sdk/tabs");
  3. var {Cc, Ci} = require("chrome");
  4. var data = self.data;
  5.  
  6. var sss = Cc[ '@mozilla.org/content/style-sheet-service;1' ].getService( Ci.nsIStyleSheetService );
  7. var ios = Cc[ '@mozilla.org/network/io-service;1' ].getService( Ci.nsIIOService );
  8.  
  9. var uri = ios.newURI(data.url('style.css'), null, null);
  10.  
  11. //タブを赤色にしたいページのURLの一部を記述する
  12. var matchKeywords = [
  13. "www.yahoo",
  14. "www.hatena",
  15. "www.wikipedia"
  16. ];
  17.  
  18. tabs.on('activate', function () {
  19. url_check(tabs);
  20. });
  21.  
  22. tabs.on('ready', function () {
  23. url_check(tabs);
  24. });
  25.  
  26. function url_check(tabs) {
  27. var tabUrl = tabs.activeTab.url;
  28.  
  29. console.log("tab_url" + tabUrl);
  30.  
  31. var isMatch = false;
  32. for (var i = 0; i < matchKeywords.length; i++) {
  33. var regexp = new RegExp(matchKeywords[i], 'i');
  34. isMatch = tabUrl.match(regexp);
  35. if (isMatch) {
  36. break;
  37. }
  38. }
  39.  
  40. if (isMatch) {
  41. console.log("CSS追加");
  42. if( !sss.sheetRegistered( uri, sss.USER_SHEET ) ) {
  43. sss.loadAndRegisterSheet( uri, sss.USER_SHEET );
  44. }
  45. } else {
  46. console.log("CSS削除");
  47. sss.unregisterSheet( uri, sss.USER_SHEET );
  48. }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement