アイコンをクリックすると、検索に使用するテキストフィールドとボタンを表示するChrome拡張機能があります。表示されるコンテンツは、基本的に次のようなマニフェストから呼び出されるHTMLドキュメントです。
"browser_action": {
"default_popup": "popup.html"
}
さて、問題は、javascriptを使用して、ブラウザにロードされている現在のドキュメントにどのようにアクセスできるかということです。テキストフィールドから質問を抽出して、現在のドキュメントで答えを見つけたいからです。
ありがとうございました!
編集1:
コード:
マニフェスト.json
{
"name": "SmartSearch",
"version": "1.0",
"manifest_version": 2,
"description": "Smart Search extension for Google Chrome.",
"content_scripts":
[
{
"matches": ["<all_urls>"],
"js": ["smartsearch.js"]
}
],
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
}
}
smartsearch.js
SmartSearch() = function (){
var x = document.title;
alert(x);
}
window.onload = SmartSearch;
popup.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Smart Search</title>
<script type="application/javascript" src="smartsearch.js"></script>
</head>
<body>
<p>Smart Search</p>
<form>
<input type="text" id="search_text_field"></input>
<input type="button" id="search_button" value="Search"/>
</form>
</body>
</html>
今のところ、私がやりたいのは、拡張機能アイコンを押したときに現在ロードされているページのタイトルを表示することだけです。DOMにアクセスできるかどうかを確認するだけです。問題は、ポップアップのタイトルを取得することです。解決策は何ですか?
EDIT2: ページに移動すると、ページの読み込み時にページのタイトルが記載されたアラートが表示されることがわかります(YouTubeページなどの例外があります)が、拡張機能のアイコンを押すと表示されます。