我有一个函数可以把 youtube 的 id 从网址上去掉。然后我想在每个页面中使用这个函数10次(在 wordpress 循环中)。
当我在我的 function script 标记中提供 URL 时,这个函数工作得很好,但是当我在循环中启动一组新的 script 标记时,它就不工作了。
我需要知道如何在不首先声明函数的情况下使用函数。
这就是我在标题中的代码:
<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"));
});
但是当我尝试在页面的其他地方使用它时,它不起作用。
<script type="text/javascript">
$(document).ready(function() {
alert(getList('http://www.youtube.com/watch?v=dm4J5dAUnR4', "v"));
};
</script>
Firebug 给了我 没有定义 getList,这是有意义的,因为它不是。我能“全局”声明这个函数吗?