スタックオーバーフローに関するいくつかの関連する質問を見た後、この質問をしています。拡張機能がインストールされているかどうかを検出する方法から始めました。一部のページでコンテンツ スクリプトを使用して本文に div を追加する方法を選択しました。これが私がやった方法です...
マニフェスト.json
{
"name": "Install Check",
"content_scripts": [
{
"matches": ["http://host.com/*"],
"js" : ["insert_node.js"]
}
],
"permissions": [
"tabs", "host.com/*"
]
}
insert_node.js (コンテンツ スクリプト)
var insert_node = document.createElement('div');
insert_node.id = "HOST_SITE";
document.body.appendChild(insert_node);
ホストページ
<html>
<head>
</head>
<body>
<h1>This is a host site. Welcome!!!</h1>
<script src="jquery.js"></script>
<script src="notification.js"></script>
</body>
</html>
拡張機能のインストール スクリプト
$(document).ready(function() {
if ($('#HOST_SITE').length > 0) {
alert("you have our extension installed");
} else {
alert("not installed");
}
});
私の問題は、クロムがDOMにノードを挿入する前に、メッセージ付きのアラートがnot_installed
常にポップアップすることです。ここでmanifest.jsonのrun_at
属性について読みました。しかし、それでも問題は解決しませんでした。、、の 3 つの値をすべて試しました。ここで何が間違っているのですか?document_start
document_idle
document_end