teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

補足情報追加

2017/03/15 06:14

投稿

nekojiro
nekojiro

スコア43

title CHANGED
File without changes
body CHANGED
@@ -145,4 +145,5 @@
145
145
  エラーを調べてみたけれどわからなかった。
146
146
 
147
147
  ###補足情報(言語/FW/ツール等のバージョンなど)
148
- firefox developer edition
148
+ firefox developer edition 54.0a2
149
+ firefox 64bit 52.0

2

コードを編集

2017/03/15 06:14

投稿

nekojiro
nekojiro

スコア43

title CHANGED
File without changes
body CHANGED
@@ -70,6 +70,9 @@
70
70
  console.log(tabs[0].id);
71
71
  browser.tabs.sendMessage(tabs[0].id, {URL: videoID}).catch(onError);
72
72
  });
73
+ /* browser.windows.onCreated.addListener(() => {
74
+ });
75
+ browser.windows.onCreated.removeListener(newWindow); */
73
76
  }
74
77
 
75
78
  function onGot(tabInfo) {
@@ -99,6 +102,40 @@
99
102
  });
100
103
  }
101
104
  }
105
+
106
+ function getInfoForTab(tabs) {
107
+ if (tabs.length > 0) {
108
+ const gettingInfo = browser.tabs.get(tabs[0].id);
109
+ gettingInfo.then(onGot);
110
+ }
111
+ }
112
+
113
+ browser.pageAction.onClicked.addListener(() => {
114
+ const querying = browser.tabs.query({currentWindow: true, active: true});
115
+ querying.then(getInfoForTab);
116
+ });
117
+
118
+ function updateActiveTab(tabs) {
119
+ function onGot(tabInfo) {
120
+ const YouTubewatchURL = 'https://www.youtube.com/watch';
121
+ if (tabInfo.url.match(YouTubewatchURL)) {
122
+ browser.pageAction.show(tabs);
123
+ }
124
+ }
125
+ const gettingInfo = browser.tabs.get(tabs);
126
+ gettingInfo.then(onGot);
127
+ }
128
+ // listen to tab URL changes
129
+ browser.tabs.onUpdated.addListener((tabId, changeInfo) => {
130
+ if (changeInfo.status === 'complete') {
131
+ console.log(tabId);
132
+ updateActiveTab(tabId);
133
+ }
134
+ });
135
+ // listen to tab switching
136
+ browser.tabs.onActivated.addListener((activeInfo) => {
137
+ updateActiveTab(activeInfo.tabId);
138
+ });
102
139
  ```
103
140
  新しいウインドウのhtmlが読み込んでるjs
104
141
  ```javascript

1

manifest\.jsonを追加

2017/03/15 04:54

投稿

nekojiro
nekojiro

スコア43

title CHANGED
File without changes
body CHANGED
@@ -23,6 +23,40 @@
23
23
  ```
24
24
 
25
25
  ###該当のソースコード
26
+ manifest.json
27
+ ```json
28
+ {
29
+ "manifest_version": 2,
30
+ "name": "YouTube Popup Panel",
31
+ "version": "1.2",
32
+ "applications": {
33
+ "gecko": {
34
+ "id": "YouTube-Popup-Panel@nekojiro.net"
35
+ }
36
+ },
37
+ "description": "__MSG_extensionDescription__",
38
+ "default_locale": "en",
39
+ "background": {
40
+ "scripts": ["YouTube-background.js"]
41
+ },
42
+ "page_action": {
43
+ "default_icon": "icons/page-32.png",
44
+ "default_title": "Popup"
45
+ },
46
+ "icons": {
47
+ "48": "icons/page-48.png",
48
+ "64": "icon/page-64.png"
49
+ },
50
+ "permissions": [
51
+ "storage",
52
+ "tabs"
53
+ ],
54
+ "options_ui": {
55
+ "page": "options/options.html"
56
+ }
57
+ }
58
+ ```
59
+
26
60
  background
27
61
  ```javascript
28
62
  function onError(error) {