画像をタブとタブの間にドラッグアンドドロップする事で画像検索を行いたいと考えています。
ですが、現在検索が行われずドロップした画像のみを出力するページとなってしまっています。
本来は、ドラッグアンドドロップした直後に検索が行われるのですが、どこを変えることによって検索が行われる様になるのでしょうか。
下記にそれぞれのプログラムを載せます。
どうかよろしくお願い致します。
json
1{ 2 "manifest_version": 2, 3 "version": "1.0.0", 4 "name": "Tab Searcher", 5 "description": "画像をタブの部分にドラッグ&ドロップするだけで画像検索の出来る拡張機能です。", 6 "permissions": [ 7 "tabs", 8 "activeTab", 9 "browsingData", 10 "<all_urls>" 11 ], 12 "content_scripts" : [ 13 { 14 "matches" : [ 15 "file:///*/*", 16 "http://*/*", 17 "https://*/*" 18 ], 19 "js": [ 20 "content.js" 21 ], 22 "run_at" : "document_end" 23 } 24 ], 25 "background" : { 26 "scripts" : [ 27 "ImageSearch_test_6.js" 28 ], 29 "persistent" : false 30 }, 31 "browser_action":{ 32 "default_icon": "tabsearch.png" 33 } 34}
javascript
1chrome.runtime.sendMessage({url:"url"},function(q){ 2 var url = 'https://www.google.co.jp/search?tbm=isch&q=' + q.url; 3 4 setTimeout("link(url)", 0); 5 6 function link(url){ 7 lication.href = url; 8 } 9 10 } 11);
javascript
1 function Sub(image){ 2 3 var form = document.createElement('form'); 4 form.setAttribute('method', 'post'); 5 form.setAttribute('action', 'http://images.google.com/searchbyimage/upload'); 6 form.style.display = "none"; 7 document.body.appendChild(form); 8 9 var hiddenField = document.createElement('input'); 10 hiddenField.setAttribute('type', 'hidden'); 11 hiddenField.setAttribute('name', 'image_content'); 12 hiddenField.setAttribute('value', image); 13 form.appendChild(hiddenField); 14 15 form.submit(); 16 }; 17 18 var imageToBase64 = function(imgElement, mimeType) { 19 20 var canvas = document.createElement('canvas'); 21 base64String = ''; 22 23 if (!imgElement || typeof mimeType !== 'string') { 24 return ''; 25 } 26 27 mimeType = mimeType.replace(/\/png$/, '/octet-stream'); 28 29 canvas.width = imgElement.width; 30 canvas.height = imgElement.height; 31 32 base64String = canvas.toDataURL(mineType); 33 34 canvas.clearRect(0, 0, 0, 0); 35 36 return base64String; 37 }; 38 39 chrome.runtime.onMessage.addListener(function(request,sender,sendResponse){ 40 var image = document.getElementsByTagName('img')[0]; 41 42 var base64String = imageToBase64(image, 'image/jpeg'); 43 44 var SearchCode = Sub.toString().replace(/(\n|\t)/gm, ''); 45 46 /*chrome.tabs.create({ 47 'url': 'javascript:' + SearchCode + '; Sub("' + base64String + '");' 48 });*/ 49 50 //var url = SearchCode + '; Sub("' + base64String + '");' 51 52 sendRequest({url: 'javascript:' + SearchCode + '; Sub("' + base64String + '");'}); 53 });
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。