2010-08-17 69 views
1

這太奇怪了。 我是Greasemonkey的新手,但我從userscripts.org下載了一個腳本,它工作正常。然後我使用GM菜單中的「新用戶腳本」創建了該腳本的副本,然後將原始腳本粘貼到新腳本中。然後我禁用舊腳本並啓用新腳本,新腳本不起作用。複製的greasemonkey腳本不起作用 - 莫名其妙

回答

3

你「沒有任何編輯就將原始腳本粘貼到新腳本中」?

可能出錯有些事情:

  1. 新的腳本應該有不同的名稱 - 其他明智的腳本安裝(S)可能會損壞。

  2. 該腳本是否在標頭中有@require行?如果是這樣,那麼知道僅在純安裝期間獲取必要的資源,並且在使用「新用戶腳本」菜單時此機制不起作用。

    要解決此問題:

    1. 新的腳本文件保存到一個文件夾中得心應手,也許,C:\Work\YourScript.user.js。不要使用Windows臨時文件夾,因爲GM安裝在那裏是有問題的。

    2. 在Greasemonkey的「管理用戶腳本」對話框中,卸載新腳本(以及任何潛在的名稱衝突)。

    3. 在瀏覽器中,使用文件 - >打開文件和瀏覽器腳本(EG C:\Work\YourScript.user.js)並打開它。應該彈出Greasemonkey安裝對話框。

    4. 安裝腳本。現在應該獲取所需資源並妥善保存。您可以通過查看腳本安裝文件夾來檢查該文件夾 - 這將在Windows系統上顯示如下內容: C:\Documents and Settings\{Win Username}\Application Data\Mozilla\Firefox\Profiles\{Random string}.default\gm_scripts\YourScript\

  3. 確保「包含的頁面」是什麼,你認爲他們是。您可以在Greasemonkey的「管理用戶腳本」對話框中查看。

  4. 仔細檢查腳本編輯。在Greasemonkey的「管理用戶腳本」對話框中,按下編輯按鈕並檢查代碼。

  5. 如果一切都失敗,在這裏粘貼完整未編輯的腳本代碼 - 可能存在語法和/或代碼錯誤,我們可以幫助您。包括代碼總是一個好主意。

+0

是的,問題是(2),jquery .js的@require。如果你只是做「新用戶腳本」,代碼中的@require語句將被忽略。實際上,儘管我通過在StackOverflow中搜索[jquery greasemonkey]來找到答案,但將問題縮小到了jquery。但是,謝謝。 – Mark 2010-08-18 07:48:11

1

您可能沒有爲新腳本設置任何URL。 當您選擇「新用戶腳本」時,其中一個框被標記爲「包含(每行一個)」,這是FireFox將激活此腳本的URL的列表。儘管腳本本身也列出了這些包含行,但它們僅在安裝時才併入瀏覽器的設置中,而不是在編輯腳本時。

請查看腳本中的@include行,並將它們添加到「管理用戶腳本」頁面的「包含頁面」部分,您很可能會看到一些操作。

相關問題