and-ri
Lieutenant
- Registriert
- Nov. 2008
- Beiträge
- 739
Hallo Freunde,
Ich wuerde gerne eine automatische sitemap mit javascript schreiben.
Habe dazu leider wenig gefunden wie man es selber realisieren kann.
Daher hab ich einfach mal mit Grundlegendem angefangen.
Also zu erst probiert wie man links aus einem Text oder einer
Html Seite rausbekommt und so, weil ich etwas neu bei javascript bin.
Nun bin ich an einem punkt wo ich die links gern verfolgen würde, also
die dahinter liegende seite nachladen möchte (in eine variable, also text oder document Object).
Ich habe das bisher über einem umweg gemacht:
Seite in einem IFrame laden, prozedure ausfürhen.
hier mal der code:
Dieser weg würde auch funktionieren, wenn, ja wenn nicht der iframe die seite erst neu läde, wenn das script beendet ist.
Also habe ich, solange das script läuft, die alte seite, was mir nun nichts nützt.
Kann man in javascript nicht einfach eine neue seite anfordern und sie in eine variable legen?
oder kann man das laden des iframes nicht einfach schon im script realisieren?
location.reload hat leider nix gebracht.
Danke
Ich wuerde gerne eine automatische sitemap mit javascript schreiben.
Habe dazu leider wenig gefunden wie man es selber realisieren kann.
Daher hab ich einfach mal mit Grundlegendem angefangen.
Also zu erst probiert wie man links aus einem Text oder einer
Html Seite rausbekommt und so, weil ich etwas neu bei javascript bin.
Nun bin ich an einem punkt wo ich die links gern verfolgen würde, also
die dahinter liegende seite nachladen möchte (in eine variable, also text oder document Object).
Ich habe das bisher über einem umweg gemacht:
Seite in einem IFrame laden, prozedure ausfürhen.
hier mal der code:
HTML:
var AllLinks;
function createSitemap(){
var x1=document.getElementById("f1").contentDocument;
//document.getElementById("x2").innerHTML=x1.body.innerHTML;
//array für die komplette struktur
AllLinks = new Array( 0 );
AllLinks.push(x1.URL);
for(var i=0 ;i < x1.links.length-4;i++){
getSubPage(x1.links[i]);
}
for(var i=0 ;i < AllLinks.length;i++){
document.getElementById("Sitemap").innerHTML+="<br>"+AllLinks[i];
}
}
function getSubPage( address){
document.getElementById("f1").src=address;
//document.getElementById("f1").contentDocument.location.href=address;
//document.getElementById("f1").contentDocument.location.reload();
AllLinks.push(document.getElementById("f1").contentDocument.URL);
}
</script>
<body>
<iframe src="index.html" id="f1"style="width:300px; height:500px;"></iframe>
<textarea Id=x2 style="width:500px; height:500px;">Dieses script läuft nur mit internen seiten.</textarea>
<input type="button" onclick="createSitemap()" value="Get text" />
<div ID="Sitemap">
Hier soll was stehen
</div>
Dieser weg würde auch funktionieren, wenn, ja wenn nicht der iframe die seite erst neu läde, wenn das script beendet ist.
Also habe ich, solange das script läuft, die alte seite, was mir nun nichts nützt.
Kann man in javascript nicht einfach eine neue seite anfordern und sie in eine variable legen?
oder kann man das laden des iframes nicht einfach schon im script realisieren?
location.reload hat leider nix gebracht.
Danke
Zuletzt bearbeitet: