Mam funkcję, która usuwa identyfikator YouTube z adresu URL. Następnie chcę użyć tej funkcji 10 razy na stronę (w pętli wordpress).Jak mogę utworzyć funkcję zdefiniowaną w jQuery. Czy jest już dostępna globalnie?
Funkcja działa świetnie, gdy dodaję adres URL do skryptów funkcji, ale gdy uruchamiam nowy zestaw znaczników skryptów w pętli, to nie działa.
Muszę wiedzieć, w jaki sposób mogę korzystać z mojej funkcji bez uprzedniego zadeklarowania wszystkiego.
Więc jest to kod mam w nagłówku:
<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"));
});
Ale gdy próbuję użyć tego gdzieś indziej na stronie, nie robi praca.
<script type="text/javascript">
$(document).ready(function() {
alert(getList('http://www.youtube.com/watch?v=dm4J5dAUnR4', "v"));
};
</script>
Firebug daje mi getlist nie jest zdefiniowana które ma sens, bo jej nie. Czy jestem w stanie "globalnie" ogłosić tę funkcję?
Przepraszamy za słabe formatowanie, za każdym razem, gdy edytuję kod, okaże się dziwne. Kod jest ważny. – wesbos
Jedna rzecz: BTW - deklaracja w dokumencie. Oznacza to, że jest ona zdefiniowana tylko wtedy, gdy dokument jest gotowy (po załadowaniu strony), więc powinieneś wywołać funkcję, gdy jesteś pewien, że jest zdefiniowana. Zgłoszenie go jako obiektu globalnego może nie wystarczyć, jeśli sama deklaracja zostanie uruchomiona po próbie użycia. –