質問編集履歴

1

タイトル、内容等を変更しました

2017/01/04 12:10

投稿

mansei2010
mansei2010

スコア9

test CHANGED
@@ -1 +1 @@
1
- chromeの動作における拡張機能の干渉タイミングの操方は?
1
+ chromeの画像検索の為の拡張機能成するに当たって
test CHANGED
@@ -1,10 +1,122 @@
1
- 画像をタブの部分にドラッグアンドドロップした際に、拡張機のプログラムを実行させたいと思ってるのですが
1
+ 画像を現存するタブと新規タブ作成ボタンの間にドラッグアンドドロップした際に画像検索を可にしたいと思い、
2
2
 
3
- chromeおける動作はどように行っているのでしょうか
3
+ backgroundのスクリプトで下記の通り書いたですが、検索されず実装直後に勝手に検索を行ってしまます
4
4
 
5
5
 
6
6
 
7
+ ```javascript
8
+
9
+ function Sub(image){
10
+
11
+
12
+
13
+ var form = document.createElement('form');
14
+
15
+ form.setAttribute('method', 'post');
16
+
17
+ form.setAttribute('action', 'http://images.google.com/searchbyimage/upload');
18
+
19
+ form.style.display = "none";
20
+
21
+ document.body.appendChild(form);
22
+
23
+
24
+
25
+ var hiddenField = document.createElement('input');
26
+
27
+ hiddenField.setAttribute('type', 'hidden');
28
+
29
+ hiddenField.setAttribute('name', 'image_content');
30
+
31
+ hiddenField.setAttribute('value', image);
32
+
33
+ form.appendChild(hiddenField);
34
+
35
+
36
+
37
+ form.submit();
38
+
39
+ };
40
+
41
+
42
+
43
+ var imageToBase64 = function(imgElement, mimeType) {
44
+
45
+ imgElement.crossOrigin = 'anonymous';
46
+
47
+ var canvas = document.createElement('canvas'),
48
+
49
+ context = canvas.getContext('2d'),
50
+
51
+ base64String = '';
52
+
53
+
54
+
55
+ if (!imgElement || typeof mimeType !== 'string') {
56
+
57
+ return '';
58
+
59
+ }
60
+
61
+
62
+
63
+ mimeType = mimeType.replace(/\/png$/, '/octet-stream');
64
+
65
+
66
+
67
+ canvas.width = imgElement.width;
68
+
69
+ canvas.height = imgElement.height;
70
+
71
+
72
+
73
+ context.drawImage(imgElement, 0, 0);
74
+
75
+
76
+
77
+ base64String = canvas.toDataURL(mimeType);
78
+
79
+
80
+
81
+ canvas.clearRect(0, 0, 0, 0);
82
+
83
+
84
+
85
+ return base64String;
86
+
87
+ };
88
+
89
+ window.onload = (function(){
90
+
91
+ var image = document.getElementsByTagName('img')[0];
92
+
93
+
94
+
95
+ var base64String = imageToBase64(image, 'image/jpeg');
96
+
97
+
98
+
99
+ SearchCode = Sub.toString().replace(/(\n|\t)/gm, '');
100
+
101
+
102
+
103
+ chrome.tabs.create({
104
+
105
+ 'url': 'javascript:' + SearchCode + '; Sub("' + base64String + '");'
106
+
107
+ });
108
+
109
+ )};
110
+
111
+
112
+
113
+ ```
114
+
115
+
116
+
7
- backgroundで実装しているので、画像読み込みの際のタイミングついも教え頂けせんか
117
+ 開いた画像のページの中身を取得た後に検索を行いたいと思っているのですが、画像データが読み込まれていない状態なっしまっ
118
+
119
+ 皆さんのご意見を教えて頂けませんか。
8
120
 
9
121
 
10
122