Mat*_*oni 3 greasemonkey google-chrome userscripts
我正在尝试使用Greasemonkey的@require/ @include方法添加jQuery ,但它不起作用.出现以下错误:
Uncaught ReferenceError: $ is not defined (repeated 10 times)
Run Code Online (Sandbox Code Playgroud)
这是我的示例代码:
// ==UserScript==
// @description Bored, really bored.
// @name MatteoSample
// @namespace MatteoSampleNamespace
// @include *
// @include http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// ==/UserScript==
$(document).slideUp();
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
Rob*_*b W 10
@ic不是一个有效的元规则,所以它被忽略了.
使用@require,如果要加载的jQuery在用户脚本.
// ==UserScript==
// @name Foo
// @namespace Bar
// @include *
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// ==/UserScript==
Run Code Online (Sandbox Code Playgroud)
编辑:在评论中,你说你正在使用Chrome.Chrome并没有支持该@require规则.也可以看看:
如果您想在Chrome中获得完整的Greasemonkey支持,请使用Tampermonkey.
Chrome本身不支持GreaseMonkey.无论何时.user.js加载文件,它都会以内容脚本的形式转换为Chrome扩展程序.
有关Chrome中用户脚本的详细信息,请参阅此文档.
用户脚本实际上被复制到扩展的目录中:
// ==UserScript==
// @name Foo
// @namespace Bar
// @include *
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// ==/UserScript==
alert(typeof $)
Run Code Online (Sandbox Code Playgroud)
一个manifest.json文件被创建,基于元块.当用户脚本包含@include规则时,其matches规则将包含,https://*/*并且http://*/*由于@include规则太松散.
生成的内容manifest.json如下:
{
"content_scripts": [ {
"exclude_globs": [ ],
"include_globs": [ "*" ],
"js": [ "script.js" ],
"matches": [ "http://*/*", "https://*/*" ],
"run_at": "document_idle"
} ],
"converted_from_user_script": true,
"description": "",
"key": "+.... some key ...=",
"name": "Foo",
"version": "1.0"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4775 次 |
| 最近记录: |