gpt4 book ai didi

jquery - 如何使 Google Chrome 扩展运行 jQuery 脚本

转载 作者:行者123 更新时间:2023-12-03 22:24:10 31 4
gpt4 key购买 nike

我有这个 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');
});

我想在访问 kilnhg.com 时运行它。

我放入了 kiln_hash.user.js 文件并将其安装到 Chrome 中,但它没有执行任何操作。

我认为这可能是因为它需要 jQuery。

我已经阅读了一些教程,看起来我可能需要创建一个 manifest.json 文件并将其和 .user.js 文件放入 zip 中扩展名为 .crx 的文件。

我仍然不知道需要在 list 文件中放入什么内容。

我怎样才能让它发挥作用?

<小时/>

更新

我创建了一个 manifest.json 文件:

{
"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"
}

我包含 jquery.js 文件(版本 1.4.2)和 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>

我将其打包为扩展名为 .crx 的 zip 文件,当我将文件拖到 Chrome 中时,它会询问我是否要安装,我说是。然后它告诉我“坏魔数(Magic Number)”

所以我转到 Chrome 开发者仪表板并上传 zip,它接受它,它让我支付 5 美元上传,然后安装。但它仍然什么也没做。

最佳答案

您不仅可能需要 list ,而且 list 是任何扩展中绝对必要的部分。我不想这么说,但您可能需要先阅读更多有关扩展结构的内容,然后您的所有问题都会得到解答。

  • Overview (扩展内部的内容和 list 内容)
  • Content Scripts (如何使用 jquery 将脚本包含到特定域中)

(如果您愿意,我可以为您提供答案,但您自己阅读这些链接会更有益,其中都有详细的描述和解释)

更新

要在本地安装您的扩展程序,您无需将其存档,只需转到您的扩展程序 chrome://extensions/,点击“开发者模式”、“加载解压的扩展程序”按钮,然后然后将其指向您的扩展文件夹。

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

{
"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_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');
});

加载 DOM 并注入(inject) jquery 后,此内容脚本将在您指定的域上运行。

您不需要为此设置背景页面。

关于jquery - 如何使 Google Chrome 扩展运行 jQuery 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5032559/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com