2011-12-31 54 views
11

我想添加jquery-ui到Greasemonkey脚本。我全码:test.user.js添加jQuery UI Greasemonkey脚本失败,并与外部CSS文件

// ==UserScript== 
// @name   Test 
// @namespace  rajat.khandelwal 
// @description Test script 
// @include  * 
// @require  js/jquery-1.6.2.min.js 
// @require  js/jquery-ui-1.8.16.custom.min.js 
// @require  css/ui-darkness/jquery-ui-1.8.16.custom.css 

// ==/UserScript== 
alert('hi'); 

,并在当前目录下我加了JS和CSS目录。它抛出错误说syntax error in css

Error: syntax error 
Source File: file:///C:/Users/Rajat/AppData/Roaming/Mozilla/Firefox/Profiles/poxivdqy.default/gm_scripts/test/jquery-ui-1816custom.css 
Line: 13 

线13:

.ui-helper-hidden { display: none; } 

问题是什么?我如何添加jquery-ui并在我的用户脚本中使用它?

+0

我们需要前后的行,也许有可能你错过了prev类中的'}',它会在下一行抛出错误,因为当另一个不能打开新类时,关闭。 – Niels 2011-12-31 13:26:58

+0

@Niels:代码不多。我用我的完整代码更新了这个问题。 第13行是'jquery-ui-1816custom.css'中的第13行,我刚刚复制了文件。不能成为代码问题。 – prongs 2011-12-31 13:29:09

回答

31

// @require目前只能使用JavaScript文件。这个错误是因为试图将CSS解析为JS。

使用// @resource的CSS文件,像这样:

// ==UserScript== 
// @name  Test 
// @namespace rajat.khandelwal 
// @description Test script 
// @include  http://YOUR_SERVER.COM/YOUR_PATH/* 
// @require  js/jquery-1.6.2.min.js 
// @require  js/jquery-ui-1.8.16.custom.min.js 
// @resource customCSS css/ui-darkness/jquery-ui-1.8.16.custom.css 
// @grant  GM_addStyle 
// @grant  GM_getResourceText 
// ==/UserScript== 

var newCSS = GM_getResourceText ("customCSS"); 
GM_addStyle (newCSS); 

alert('hi'); 

然而,jQuery的UI CSS大量使用背景图片。通过相对路径包含的图像。

为了获得jQuery-UI CSS的最大效果,我不再建议通过GM_addStyle()来添加它。

使用注入<link>this complete, jQuery-UI example userscript所示。

+0

我正在使用FireFox v.21。我做了你在这里提到的我调用jquery ready()函数并试图提醒* newCSS *。它没有显示任何东西 – Volatil3 2013-08-04 12:32:13

+0

GM已经改变,因为这个答案是第一次发布。更新了答案以反映这一点。 – 2013-08-05 02:38:51