質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Chrome extension

Chrome拡張機能

Q&A

解決済

2回答

5595閲覧

chrome extensionで選択範囲の文字を取得できない、また、新規タブを隣のタブに開けない

usuallyi

総合スコア41

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Chrome extension

Chrome拡張機能

2グッド

3クリップ

投稿2016/12/02 20:04

編集2016/12/03 10:13

chrome extensionを作成していますが、
ページ上で文字を選択して、wikipediaで検索して表示させたいのですが、
window.getSelectionで文字を取得できずに困っています。

検索した際に、右タブに新規タブを開きたいと思い、下記を参考にしたのですが、
以下のエラーが発生してしまいます。
Error in event handler for contextMenus: ReferenceError: tab is not defined
at onclick
http://gihyo.jp/dev/serial/01/chrome-extensions/0001?page=3

background.js

javascript

1chrome.contextMenus.create({ 2 "title" : "wikipediaで検索", 3 "type" : "normal", 4 "contexts" : ["selection"], 5 "onclick" : function(){ 6 var selection = window.getSelection().toString(); 7 console.log(selection); 8 var url = "https://ja.wikipedia.org/wiki/"+selection; 9 console.log(); 10 chrome.tabs.create({index:tab.index+1 ,url : url,selected:true}); 11 } 12});

manifest.json

json

1{ 2 "name": "wiki_search", 3 "version": "1.0.0", 4 "manifest_version": 2, 5 "description": "右クリックメニューからwikipedia検索をする。", 6"permissions" : [ 7 "tabs", 8 "contextMenus", 9 "http://*/*", 10 "https://*/*" 11 ], 12 "icons": { 13 "128": "img/icon_128.png", 14 "48": "img/icon_48.png", 15 "16": "img/icon_16.png" 16 }, 17 "background" : { 18 "scripts" : ["background.js"] 19 } 20 }
DrqYuto, Koyyyyyy👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/12/04 23:48

タブの開閉位置はブラウザ仕様による
guest

回答2

0

自己解決

以下のようにして解決しました。

javascript

1function search(info,tab){ 2 return function(info,tab){ 3 var selection = info.selectionText; 4 var url = "https://ja.wikipedia.org/wiki/"+selection; 5 6 chrome.tabs.create({index:tab.index+1,url: url,selected:true}); 7 } 8} 9 10chrome.contextMenus.create({ 11 "title" : "wikipediaで検索", 12 "type" : "normal", 13 "contexts" : ["selection"], 14 "onclick" : search() 15}); 16 17

投稿2016/12/06 13:39

usuallyi

総合スコア41

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

コードおもにコールバックの引数の意味を理解しましょう。
サンプルに忠実にしてないためのエラーとなります。

投稿2016/12/04 23:55

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問