JD *_*cks 9 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');
});
Run Code Online (Sandbox Code Playgroud)
我想在访问kilnhg.com时运行这个.
我放入一个kiln_hash.user.js
文件并将其安装到Chrome中,但它没有做任何事情.
我想这可能是因为它需要jQuery.
我已经阅读了一些教程,看起来我可能需要创建一个manifest.json
文件并将其和.user.js
文件放入带.crx
扩展名的zip文件中.
我仍然不知道我需要把它放在清单文件中.
我怎样才能让它发挥作用?
我创建了一个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"
}
Run Code Online (Sandbox Code Playgroud)
我包含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>
Run Code Online (Sandbox Code Playgroud)
我将它打包成带有.crx扩展名的zip,当我将文件拖到Chrome中时,它会询问我是否要安装我说是的.然后它告诉我"坏魔法数字"
所以我转到Chrome开发者信息中心并上传了zip,它接受了它,它让我付5美元上传,然后安装.但它仍然无能为力.
ser*_*erg 23
您不仅可能需要清单,清单是任何扩展的绝对必要部分.我不想这么说,但你可能需要先阅读一些关于扩展结构的内容,然后你的所有问题都会得到解答.
(如果你愿意,我可以给你一个答案,但你自己阅读这些链接会更有利,所有这些都在很好的细节中描述和解释)
UPDATE
要在本地安装您的扩展程序,您无需将其存档,只需转到您的扩展程序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"]
}
]
}
Run Code Online (Sandbox Code Playgroud)
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');
});
Run Code Online (Sandbox Code Playgroud)
在加载DOM并注入jquery之后,此内容脚本将在指定的域上运行.
您不需要这样的背景页面.
归档时间: |
|
查看次数: |
20379 次 |
最近记录: |