onclick="Loadmodul" wie funktioniert das?

HORNSWOGGLE

C++ Beginner
Hi,

Frage, kann mir jemand sagen wie das hier Funktioniert, das ist ja kein Link (href) der mit einer neuen html verbunden ist, sondern es ist ein modul das auf einer html seite geladen wird, jetzt will ich wissen was genau das format das Modul hat, ist es Html oder was?




HTML:
<li><a href="/Index/" onclick="LoadModule('Index'); return false;">News</a></li>
 
Ich würde erstmal gerne wissen was dieses Loadmodul ist und was es ausführen soll. Wäre praktisch, wenn du mal den Quelltext davon posten könntest.
 
LoadModule() ist eine Javascript-Funktion, welche beim Klicken auf den Link aufgerufen wird.

Was diese Funktion macht, kann man erst sagen, wenn man diese Funktion sieht, denn es gibt keine JS-eigene Funktion mit diesem Namen.
 
Dort wird per AJAX neuer Inhalt in die Seite geladen, Datails dazu findest du bei Google oder im Javascript-Forum unter dem Stichwort
AJAX
.

Der Name "LoadModule" ist dabei nebensächlich, man könnte die Funktion auch KaffeeKochen() nennen, entscheidend ist, was die Funktion macht.
 
Hiho,
hier noch der Funktionscode von kino.to:

function LoadModule(Module){
if(Module==Ajax_CurrentMod&&Module!='Entry')return;else if(Module+'-'+arguments[1]+'-'+arguments[2]==Ajax_CurrentMod)return;if(arguments[3]!="UseHistory"){
var ModID=ModuleHistory.length;ModuleHistory[ModID]=new Object();ModuleHistory[ModID]["Module"]=Module;ModuleHistory[ModID]["Param1"]=arguments[1];ModuleHistory[ModID]["Param2"]=arguments[2];var ModData=new Object();ModData['Module']=Module;ModData['P1']=arguments[1];ModData['P2']=arguments[2];if(Ajax_CurrentMod!='')$.history(ModData);else InitMod=ModData;
}
$.ajax({
type:"POST",async:true,url:Ajax_HandlerURL,dataType:"json",data:"Request=LoadModule&Name="+Module+"&Param1="+arguments[1]+"&Param2="+arguments[2]+"&Data="+QueryData,beforeSend:function(Data){
$('#Module').html(Ajax_Loading);
}
,success:function(Data){
$("#Module").html('');for(Block in Data.Block){
if(Data.Block[Block].Data!=undefined)Data.Block[Block].Data._MODIFIERS=TPModifier;if(Data.Block[Block].Template!=undefined)
HTMLBlock=Data.Block[Block].Template.process(Data.Block[Block].Data);else HTMLBlock='';$("#Module").append(HTMLBlock);if(Data.Block[Block].Data['Sortable']!=undefined&&Data.Block[Block].Data['Sortable']==1&&Data.Block[Block].Data['Pager']===false)
$('.EntryTabList').tablesorter();else if(Data.Block[Block].Data['Sortable']!=undefined&&Data.Block[Block].Data['Sortable']==1)$('.EntryTabList').tablesorter().tablesorterPager({
container:$("#pager")
});
}
Ajax_CurrentMod=((Data.ModName==undefined)?Module+arguments[1]+arguments[2]:Data.ModName);if($("#CaptureInput").length==1)$("#CaptureInput").focus();
}
,error:function(Data){
$('#Module').html(Ajax_Error);
}
});
}​

Ich würde gerne wissen, ob es möglich ist, die Funktion über die Url aufzurufen, also eigenlich den absoluten Pfad speichern kann, wenn man die Parameter der Funktion kennt.

Hier ein Beispiel:
<a onclick="LoadModule('Season', '24895', '5'); return false;" href="?Goto=Season&amp;PA=24895&amp;PB=5">Staffel 5</a>​

Dies würde mir helfen gewisse direktlinks anzulegen. Da logischerweise ".html?Goto=Season&amp;PA=24895&amp;PB=5" nicht funktioniert.


Ich freue mich auf Eure Antworten.
Dank, GaM
 
Bitte Codeblöcke verwenden, da steigt ja keiner durch sonst

Javascript:
function LoadModule(Module){
    if(Module==Ajax_CurrentMod&&Module!='Entry')return;else if(Module+'-'+arguments[1]+'-'+arguments[2]==Ajax_CurrentMod)return;if(arguments[3]!="UseHistory"){
        var ModID=ModuleHistory.length;ModuleHistory[ModID]=new Object();ModuleHistory[ModID]["Module"]=Module;ModuleHistory[ModID]["Param1"]=arguments[1];ModuleHistory[ModID]["Param2"]=arguments[2];var ModData=new Object();ModData['Module']=Module;ModData['P1']=arguments[1];ModData['P2']=arguments[2];if(Ajax_CurrentMod!='')$.history(ModData);else InitMod=ModData;
    }
    $.ajax({
        type:"POST",async:true,url:Ajax_HandlerURL,dataType:"json",data:"Request=LoadModule&Name="+Module+"&Param1="+arguments[1]+"&Param2="+arguments[2]+"&Data="+QueryData,beforeSend:function(Data){
            $('#Module').html(Ajax_Loading);
        }
        ,success:function(Data){
                $("#Module").html('');for(Block in Data.Block){
                    if(Data.Block[Block].Data!=undefined)Data.Block[Block].Data._MODIFIERS=TPModifier;if(Data.Block[Block].Template!=undefined)
                    HTMLBlock=Data.Block[Block].Template.process(Data.Block[Block].Data);else HTMLBlock='';$("#Module").append(HTMLBlock);if(Data.Block[Block].Data['Sortable']!=undefined&&Data.Block[Block].Data['Sortable']==1&&Data.Block[Block].Data['Pager']===false)
                    $('.EntryTabList').tablesorter();else if(Data.Block[Block].Data['Sortable']!=undefined&&Data.Block[Block].Data['Sortable']==1)$('.EntryTabList').tablesorter().tablesorterPager({
                        container:$("#pager")
                    });
                }
                Ajax_CurrentMod=((Data.ModName==undefined)?Module+arguments[1]+arguments[2]:Data.ModName);if($("#CaptureInput").length==1)$("#CaptureInput").focus();
        }
        ,error:function(Data){
            $('#Module').html(Ajax_Error);
        }
    });
}
 
Zuletzt bearbeitet von einem Moderator:
Zurück