2011-12-31 57 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