如何使GoogleChrome扩展运行jQuery脚本

如何使GoogleChrome扩展运行jQuery脚本,jquery,google-chrome-extension,Jquery,Google Chrome Extension,我有这个jquery脚本: $('[id^=changesetList] tr').each(function () { var sid = $(this).attr('sid'); $(this).find('td span.changesetDescription').append('<span class="csetHash">' + sid + '</span>').css('color','#777'); }); 我包括jq

我有这个jquery脚本:

$('[id^=changesetList] tr').each(function () {
    var sid = $(this).attr('sid');
    $(this).find('td span.changesetDescription').append('<span class="csetHash">' + sid + '</span>').css('color','#777');
});
我包括
jquery.js
文件(版本1.4.2)和
bg.html
文件:

{
  "name": "Kiln Hash",
  "version": "1.0.1",
  "description": "Show hash in changeset list in Kiln",
  "content_scripts": [
    {
      "matches": ["https://*.kilnhg.com/*"],
      "js": ["jquery.js"]
    }
  ],
  "background_page": "bg.html"
}
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="jquery.js"></script>

<script>

$(document).ready(function(){
    $(hash_link).click(function(){
        addHash();
        return false;
    });
});
function addHash()
{
    $('[id^=changesetList] tr').each(function () {
        var sid = $(this).attr('sid');
        $(this).find('td span.changesetDescription').append('<span class="csetHash">' + sid + '</span>').css('color','#777');
    });
}

</script>

<title>Untitled Document</title>
</head>

<body>
<a id="hash_link" href="#">Add Hash</a>
</body>
</html>

$(文档).ready(函数(){
$(哈希链接)。单击(函数(){
addHash();
返回false;
});
});
函数addHash()
{
$('[id^=changesetList]tr')。每个(函数(){
var sid=$(this.attr('sid');
$(this).find('td span.changesetDescription')。append(''+sid+'').css('color','#777');
});
}
无标题文件
我将其打包在一个扩展名为.crx的zip中,当我将文件拖到Chrome中时,它会问我是否要安装,我说是的。然后它告诉我“坏魔法数字”


所以我去Chrome开发者的仪表板上传zip,它接受它,让我付5美元上传,然后安装。但它仍然没有任何作用。

您不仅可能需要清单,清单是任何扩展中绝对必要的一部分。我不想这么说,但您可能需要先多读一点关于扩展结构的内容,您所有的问题都会得到回答

  • (扩展中的内容和清单)
  • (如何使用jquery将脚本包含到特定域中)
(如果你愿意的话,我可以给你一个答案,但如果你自己阅读这些链接,会对你更有好处,这里对这些链接进行了详细的描述和解释)

更新

要在本地安装扩展,您不需要将其存档,只需转到扩展
chrome://extensions/
,单击“开发人员模式”、“加载未打包的扩展”按钮,然后将其指向您的扩展文件夹

如果您想将脚本注入某个页面,则需要使用所谓的“内容脚本”。您的清单应如下所示:

{
  "name": "Kiln Hash",
  "version": "1.0.1",
  "description": "Show hash in changeset list in Kiln",
  "content_scripts": [
    {
      "matches": ["https://*.kilnhg.com/*"],
      "js": ["jquery.js", "content_script.js"]
    }
  ]
}
content\u script.js:

$('[id^=changesetList] tr').each(function () {
    var sid = $(this).attr('sid');
    $(this).find('td span.changesetDescription').append('<span class="csetHash">' + sid + '</span>').css('color','#777');
});
$('[id^=changesetList]tr')。每个(函数(){
var sid=$(this.attr('sid');
$(this).find('td span.changesetDescription')。append(''+sid+'').css('color','#777');
});
加载DOM并注入jquery后,此内容脚本将在指定域上运行


你不需要一个背景页

我读了那些东西,还是没法用。请参阅我的更新。我知道这是一个迟到的注释,但是清单中还需要一个
“manifest\u version”:2