我试图编写一个Chrome扩展,在目标页面上放置一个小脚本,然后针对页面上的项目执行特定操作。作为Chrome扩展程序的新手,我已经开始使用“Hello World”警报。这工作正常,但是我实际上想要做的事情包括对对象使用jQUery。添加jQuery停止执行脚本
虽然我的目标页面已经导入jQuery,但如果我尝试在我的脚本中使用它,我会得到一个异常,即$未定义。但是,如果我自己尝试导入它,即使alert
停止工作。
下面是我的代码,任何人都可以指出我要去哪里错了吗?
manifest.json的
{
"manifest_version": 2,
"name": "Hello World",
"description": "Simple Hello World Extension",
"version": "1.0",
"content_scripts": [
{
"matches": ["http://localhost:46950/"],
"run_at": "document_end",
"js": ["http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", "popup.js"]
}
]
}
popup.js
$(helloWorld());
function helloWorld()
{
alert("Hello World");
}
更新
挖掘到的Chrome://扩展,我意识到,当我尝试使用下面的代码,扩展名不是loade d到Chrome中。如果我尝试再次手动加载它,我会得到以下例外:
无法从“'加载扩展名。无法加载JavaScript内容脚本。
JavaScript函数是一阶,你需要传递的功能jQuery的准备处理程序不调用它。 '$(helloWorld)'和_not_'$(helloWorld())' –
但是,由于'$'未定义,甚至没有达到特定的问题。 –
@BenjaminGruenbaum这似乎并非如此。如果我使用'$(helloWorld);'没有任何反应(在它通常工作的情况下)。如果我添加'$(helloWorld());'它工作正常。 –