プログラミング初心者です。
現在、Chromeの拡張機能開発を行っています。
Chromeの拡張機能をクリックするだけで、閲覧中のWEBサイトのURLを取得し、別タブでWEBサイトの表示速度が測定できる「Google PageSpeed Insights」に取得したURLが自動的に反映されるプログラムを制作しています。
完成イメージとしては、閲覧中のサイト(teratail)でChromeの拡張機能をクリックすることで、
「Google PageSpeed Insights」のサイト内にある、URL入力欄に取得したURLが自動的に反映されるプログラムです。
発生している問題・エラーメッセージ
javascriptの「location.href」を活用して、閲覧中のサイトのURLを取得しようとしたのですが、うまくいきません。
閲覧中のサイトのURLを「https://○○○」の形で取得できず、
「chrome-extension://afodfheljgloicekcifhieopgnbpibjm/_generated_background_page.html」の形で取得してしまいます。
該当のソースコード
manifetst.json
json
1{ 2 "manifest_version": 2, 3 "name": "page speed checker", 4 "version": "2.0", 5 "description": "閲覧中のサイトの表示速度を測定します", 6 "icons": { 7 "128": "page.png" 8 }, 9 "browser_action": { 10 "default_title": "page speed checker", 11 "default_icon": "page.png" 12 }, 13 "background": { 14 "scripts": ["contents.js"] 15 }, 16 17 "permissions": [ 18 "tabs", 19 "http://*/*", 20 "https://*/*" 21 ] 22}
contents.js
Javascript
1chrome.browserAction.onClicked.addListener(function() { 2 void(window.open('https://developers.google.com/speed/pagespeed/insights/?url='+location.href)); 3});
原因がわかる方がいましたら、教えていただきたいです。
javascriptの「location.href」を使わない方が簡単にできるなどのご意見もありましたら、
お伝えいただけると嬉しいです。
何卒よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。