2011-07-20 23 views
2

如果我有一個我在網上找到的用戶腳本,並且我想將它作爲普通的javascript(即不是userscript)併入到一個網站中,我該怎麼做?將用戶腳本用作常規JavaScript?

這看起來似乎很簡單,但我是JavaScript和userscript的新手,希望有人能幫助我。

例如,我發現這個userscript:「Convert UPS and FedEx Tracking Numbers to Links」 ......

這將解析匹配任何UPS正則表達式頁/ FEDEX/USPS追蹤號碼,並將其轉換爲鏈接到相應的運營商跟蹤網站追蹤該號碼。

這對於用戶腳本很有用,但我希望它在我正在工作的站點上自動運行(不需要訪問者下載/安裝用戶腳本)。
如何將此用戶腳本用作常規JavaScript?

回答

2

UserScripts的網頁後,通常執行DOM被加載,以確保頁面內容可以完全訪問。所以,你需要某種機制來實現這一點。但是,這是有點棘手,因爲舊版本的IE需要特殊的處理。

手動操作需要約30行代碼。像jQuery庫提供了一個ready()方法,像這樣:

<script src="http://code.jquery.com/jquery-latest.min.js"></script> 
<script> 
$(document).ready(function() { 

    // put userScript here 

}); 
</script> 
+0

謝謝!這解決了這個問題..我猜想腳本在加載頁面的其餘部分之前執行。 –

1

你可以把它放在JS文件中,並將文件包含在你的頁面中。

UserScripts包含正常的Javascript代碼,但是由插件而不是在頁面上執行。

+0

謝謝..我這樣做了,但它沒有工作,原來的問題是,它是在頁面的其餘部分之前執行。 –

2

應該僅僅是連接它像任何其他JavaScript文件的問題:

保存爲foo.js,然後在你的HTML,

<body> 
<!-- body code here --> 
<script src="foo.js"></script> 
</body> 
+0

謝謝..我已經這樣做了,但它沒有工作,原來問題是它在頁面的其餘部分之前執行。 –

+0

jmiller,如果腳本被放置,就不會這麼做,因爲這個答案顯示...就在結束''標籤之前。在這裏放置腳本也是一種常見的性能提升。 –

+0

我明白了......是的,我把它放在一個包含的頭文件中,該文件中還包含了在頁面加載之前需要執行的代碼。對於使用jquery ready方法的此設置有沒有什麼好處? –