Starałem się znaleźć rozwiązanie dla mojego problemu. Nie jestem osobą doświadczającą z javascript, ale szukam sposobu na niewielką zmianę zewnętrznego URL-a js w zależności od zdarzenia onclick na ahref.Jak zmienić adres URL skryptu zewnętrznego?
Teraz mam to w moich tagów głowy:
<script type="text/javascript" src="http://www.domain.com/loader.php?GID=126&go=&sid="></script>
chcę parametr SID być ustawiony na 1 lub 2 w oparciu o onclick na znacznika zakotwiczenia. Program ładujący jest wywoływany za pomocą tego fragmentu kodu, ale identyfikator SID musiałby zostać zmieniony przed przed wywołaniem programu ładującego.
<a href="/#download" onclick="javascript:Load_126(); return false;">
Czy ktoś mógłby mi powiedzieć, że jeśli jest to możliwe? A może wskażesz mi właściwy kierunek?
Pozdrawiam,
Sedoc94
EDIT 1: Zostałem skierowany w kierunku i że mogę dostać tego zrobić z jQuery.getScript()
Ale nadal nie mają pojęcia, w jaki sposób należy wykorzystać ją do mojego przypadku.
EDIT 2: Ponieważ skrypt musi zostać pobrany z domeny zewnętrznej, będę musiał użyć funkcji $ .ajax().
Teraz mam:
function loadGame(sid){
$.ajax({
url: 'http://www.domain.com/loader.php?GID=126&go=&sid='+sid,
dataType: "script",
crossDomain: true,
success: gLoad_12603()
});
}
Z ahref onclick Dzwonię funkcję loadGame, ale konsola mówi: Uncaught ReferenceError: gLoad_12603 is not defined
. To powinno działać. Ale zgaduję, że w jakiś sposób daje to błąd, ponieważ funkcja istnieje tylko w kodzie skryptu, który jest zwracany z zewnętrznego adresu URL.
Jakieś pomysły, jak mogę to sprawić?
Nie sądzę, że to możliwe, aby zmienić script src w locie, jak kod JS musiałyby być przeładowane . Dlaczego nie skorzystać z prostej AJAX do tego zadania? Sprawdź [jQuery.get] (http://api.jquery.com/jQuery.get) – casraf
dodaj Eventhandler na obiekcie ajax onreadystatechange, ale jeśli używasz jquery przeczytaj ten http: //api.jquery.com/Ajax_Events/ – Givi
Po prostu to przeczytałem, ale mówi mi, że muszę używać programu obsługi zdarzeń "sukcesu", którego już używam? –