有沒有簡單的方法來做到這一點。還有什麼需要改變,因爲它的運行方式有所不同?如何將書籤轉換成Greasemonkey userscript?
回答
要做到這一點最簡單的方法:
通過URL decoder運行書籤代碼。使得
javascript:alert%20('Hi%20Boss!')%3B
,例如,成爲:
javascript:alert ('Hi Boss!');
地帶的領先
javascript:
關閉。結果:alert ('Hi Boss!');
將此代碼添加到您的Greasemonkey文件的末尾。例如,創建一個名爲文件,
你好World.user.js,使用此代碼:// ==UserScript== // @name Hello World! // @description My first GM script from a bookmarklet // @include https://stackoverflow.com/questions/* // @grant none // ==/UserScript== alert ('Hi Boss!');
打開你好World.user.js與Firefox(按CtrlO)。 Greasemonkey將提示安裝腳本。
現在,小書籤代碼將自動運行在您使用
@include
和@exclude
指令指定的任何頁面上。更新:爲了保證最大的兼容性,使用由Greasemonkey和Tampermonkey的更高版本增加了
@grant none
指令。
重要:
的userscript將更快比你所能激活書籤運行。通常情況下,這不是問題。
但是在某些情況下,您可能需要等待頁面的某個部分完全加載。
在這種情況下,您可以use techniques/utilities like waitForKeyElements。另外,Choosing and activating the right controls on an AJAX-driven site。如果您仍然無法使您的新腳本正常工作,請務必閱讀My very simple Greasemonkey script is not running?。按照步驟包含指定信息在您打開有關新腳本的問題的任何問題。
這裏是一個很好的文章,以avoid common pitfalls因爲「正常」的JS和Greasemonkey的差異。
之初最重要的事情:
- 不要使用功能爲字符串,如:
而是window.setTimeout("my_func()", 1000);
window.setTimeout(my_func, 1000);
或window.setTimeout(function(){doSomething(); doSomethingOther();}, 1000);
- 不要設置
而是element.onclick
element.addEventListener("click", my_func, true);
一些通常返回各種DOM的代碼對象,在Greasemonkey環境中返回包裝在XPCNativeWrapper中的對象。這是出於安全原因。
一些方法和屬性是「透明的」,你可以在包裝對象上調用它們,但有些不是。請閱讀所提及的文章,瞭解如何避免這種情況;你也可以使用(這不是一般推薦的,但用於測試等)wrappedJSObject屬性。當
obj.something
/obj.something()
在Greasemonkey中不起作用時,請嘗試obj.wrappedJSObject.something
/obj.wrappedJSObject.something()
。
- 1. 爲什麼不能將這個書籤轉換爲一個userscript?
- 2. 有沒有辦法將Greasemonkey腳本自動轉換爲書籤?
- 3. Greasemonkey Userscript:粘貼在jQuery?
- 4. userscript確實在greasemonkey插件上運行
- 5. 如何將SHA256RSA簽署的服務器證書轉換爲SHA1RSA?
- 6. 如何將JavaScript代碼轉換爲書籤?
- 7. 如何使用GhostScript將WORD文檔與書籤轉換爲PDF?
- 8. 將jquery轉換爲javascript以便能夠在greasemonkey上運行?
- 9. 如何將一個標籤轉換成的link_to標籤
- 10. 如何將.pem格式的證書從.crt文件轉換成..?
- 11. 「TypeError:無法將undefined轉換爲object」與GreaseMonkey腳本
- 12. 將JavaScript轉換爲Greasemonkey腳本
- 13. 如何表單標籤轉換成笨
- 14. 如何陣列轉換成XML標籤
- 15. 如何將Greasemonkey腳本轉換爲無重啓Firefox插件?
- 16. mercurial repo與書籤轉換爲mercurial - 沒有書籤?
- 17. greasemonkey貨幣轉換器
- 18. 將標籤值轉換成databounded gridview的
- 19. 將圖像轉換成標籤
- 20. 如何將JKS證書/密鑰轉換爲BouncyCastle證書/密鑰
- 21. 如何將HTML轉換爲XML以生成封閉標籤?
- 22. 如何使用Greasemonkey腳本使用XSLT轉換XML文件?
- 23. 如何將bytearray轉換爲img標籤?
- 24. 如何轉換「\ x09將」回標籤
- 25. 標籤軸。從Excel轉換。將數據轉換成字符串
- 26. 如何將書籤HTML文件中的字符串轉換爲圖標?
- 27. 如何製作將所選文本轉換爲鏈接的小書籤?
- 28. 如何使用localStorage將書籤添加到書籤Ionic
- 29. 如何獲得userscript
- 30. 如何轉換成''
這很好,但是這會在每一頁上自動運行。我所有的書籤都是我只想激活的東西(比如在插件板上書籤或者在Wayback Machine上查找)。你會如何讓它只在我想要的時候執行? –
@NickS,這就是[@ include','@ exclude'和'@ match'指令](https://tampermonkey.net/documentation.php#_include)的用途。 –
對不起,讓我澄清一下:我的意思是我想在一個頁面上,想「嘿,我想在Wayback Machine上查看這個」,點擊* something *,然後執行我的腳本(用Wayback打開一個新標籤機器搜索當前的網址)。 我點擊了什麼?腳本如何知道何時打開選項卡? –