我有一個功能,可以將youtube id從網址中刪除。然後我想每頁使用10次這個函數(在wordpress循環中)。如何在全局可用的jQuery.ready中定義一個函數?
當我在我的函數腳本標記中給它提供url時,該函數很好用,但是當我在循環內啓動一組新的腳本標記時,它不起作用。
我需要知道如何在不首先聲明所有函數的情況下使用我的函數。
所以這是我在報頭中的代碼:
<script type="text/javascript">
$(document).ready(function() {
var getList = function(url, gkey){
var returned = null;
if (url.indexOf("?") != -1){
var list = url.split("?")[1].split("&"),
gets = [];
for (var ind in list){
var kv = list[ind].split("=");
if (kv.length>0)
gets[kv[0]] = kv[1];
}
returned = gets;
if (typeof gkey != "undefined")
if (typeof gets[gkey] != "undefined")
returned = gets[gkey];
}
return returned;
};
// THIS WORKS
alert(getList('http://www.youtube.com/watch?v=dm4J5dAUnR4', "v"));
});
但是當我嘗試用這個地方的頁面上的其他人,它不工作。
螢火蟲給我的GetList沒有定義這是有道理的,因爲它不是。我能夠'全球'宣佈這個功能嗎?
對不起,糟糕的格式,每次我編輯代碼,它變得怪異。該代碼是有效的。 – wesbos 2010-02-08 17:00:40
BTW - 在document.ready中聲明它意味着它只在文檔準備好(頁面加載後)時定義,所以你應該在確定它已經定義時調用函數。如果聲明本身在嘗試使用後運行,則聲明它爲全局對象可能不夠。 – 2011-09-05 10:09:05