• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Seite wie eine Variable benutzen

Status
Für weitere Antworten geschlossen.

TeeUndBeutel

Neues Mitglied
Wäre es möglich eine Seite wie eine Variable zu benutzen, d.h. deren Aufbau bzw. Inhalt als Values einfach auslesen ohne die Seite zu laden?
 
Werbung:
ich bin mir nicht ganz sicher, was du möchtest, aber du könntest mit einem ajax-request teile einer seite auslesen und weitergeben. wenn du deinen Wunsch etwas ausführen könntest, wäre ich bestimmt imstande dir genauer zu helfen.
 
Ich starte eine Suche auf einer Website, bekomme unterschiedlich viele Datensätze. Einen davon brauche ich. Ob das der ist den ich suche, muss ich anhand des Links festellen, den dieser Datensatzt mitbringt.
Diesen Link muss ich ansurfen, d.h. eine Seite Aufmachen. Dort finde ich in einem Div zwei Kriterien, sagen wir mal einen Namen und Vornamen, anhand derer ich festellen kann ob der Datensatz der richtige ist.

Das Ganze muss ich nur mit Javascript schaffen. Mit Javascript die Seite so parsen, das mein Browser von der Menge nicht abstürtzt.

Ich habe versucht die "Unter"seiten in einem Frameset zu laden, aber sobald es mehr als 30 werden, wird es schwierig.

Dabei befinde ich mich in einer XHTML Umbgebung.
 
Zuletzt bearbeitet:
Werbung:
Hallo,

Warum nur mit JavaScript?
Mit PHP ( meinetwegen über Ajax ) wäre das nahezu ein Kinderspiel.

Gruß Arne
 
Weil php nicht geht. Bzw. wenn du mir zeigen könntest wie ich im der Browser Entwickler Konsole ein php Script ausführen kann das nicht auf dem Server liegt, dann gerne.
 
Ähm, keine Ahnung was das werden soll.
Hier trotzdem ein Schnipsel wie du den Seitenquelltext als String bekommst:
Javascript:
var html = document.documentElement.outerHTML;
 
Werbung:
Ähm, keine Ahnung was das werden soll.
Hier trotzdem ein Schnipsel wie du den Seitenquelltext als String bekommst:
Javascript:
var html = document.documentElement.outerHTML;
Aber ich muss ja erst auf die Seite kommen, bevor ich deren document zugreifen kann.

Ich möchte quasi eine JavaScript Funktion / Option die über einen Link die Seite nicht aufruft und darstellt, sondern sofort komplett oder wenn es möglich ist, einen bestimmten Teil in eine variable lädt.


Ich könnte ja die Seite laden und die Werte suchen, aber das ist ein zu hoher Ressourcen Verbrauch oder?
Und außerdem, ich habe 100 Links die ich ansurfen muss. Wenn ich dabei auf die erste Seite springe, dann verliere ich das Array mit den restlichen 99.
 
Weiß immer noch nicht, wozu das Ganze dienen soll. Reell klingt dein Vorhaben jedenfalls nicht.

Um den Content einer fremden Seite herunterzuladen, kannst du kein clientseitiges JS einsetzen. Mögliche Ansätze wären hier Wget, NodeJS, cURL wahrscheinlich auch, oder du schreibst ein Python Script.
 
Ich kann auf diesem System nichts installieren, ich habe nur ein paar Brauser. Ich höre immer wieder, dass JavaScript so mächtig wird oder geworden ist, aber alle wollen mir Alternativen verkaufen. Ist es denn so was im Grunde genommen Elementares nicht wirklich möglich. Ist das DOM Modell wirklich so starr? Diät mein smartphone kann Seiten vorladen, ok dass ist nicht ganz das was ich haben will und eine Seite ist nix.



Und der Content der fremden Seite ist mir egal. Ich will die geladene Seite nicht einmal haben, nur zwei Werte als Prüf Werte für den Wert auf der parent Seite.

Html ist ein Dinosaurier...



Ich meine, wie kann dass sinn ich klicke auf einen Link und mir wird das ganze css, Drumherum, versteckte Formulare, blabla geladen. Kann ich als Benutzer nicht bestimmten wie ich das html bekomme?

Kann ich es nicht einfach pur haben, nur dass dritte div
mit den zwei Text Feldern.


Oder vllt. Www.blabla.de.getElementsById("divMitZweiTextfeldern"); ???
 
Werbung:
Ich meine, wie kann dass sinn ich klicke auf einen Link und mir wird das ganze css, Drumherum, versteckte Formulare, blabla geladen. Kann ich als Benutzer nicht bestimmten wie ich das html bekomme?

Du hast den Unterschied zwischen Client und Server nicht verstanden. Der Browser führt einen GET-Requst aus, um eine Seite zu laden.
 
Wenn das so ist, kann der Client nicht sagen, Server gib mir nur einen Teil der Seite .

Z.b. Client stellt die Seite A dar, requestet nur einen div, nämlich

<div id="benötigtesTeil">

und bleibt dabei Seite A. Wenn der Client das div der Seite A bekommen hat, fragt er nach dem div der Seite B nach und bleibt dabei auf Seite A.
Ist das möglich?
Dabei kann ich selbstverständlich keine php scripte auf dem Server ablegen und ausführen.
Und auf dem pc auf dem der Browser läuft kann ich keine andere software installieren. So ist die Ausgangslage.
 
Werbung:
Die einzige Möglichkeit wäre es im Browser die Same Origin Policy zu deaktivieren, per Ajax die komplette Response zu holen und anschließend via JS den gewünschten Teil zu extrahieren. Und nein, dazu bekommst du keine detaillierten Infos, da das einfach nur behindert ist.
 
Die einzige Möglichkeit wäre es im Browser die Same Origin Policy zu deaktivieren, per Ajax die komplette Response zu holen und anschließend via JS den gewünschten Teil zu extrahieren. Und nein, dazu bekommst du keine detaillierten Infos, da das einfach nur behindert ist.
;) ich mag das...

javascript war am Anfang auch behindert. Und jetzt guck mal... nodejs...

komm schon ne kurze beschreibung.
 
Werbung:
Wenn Du ein wenig mehr Fantasie in Deine eigene Problemstellung legen würdest, anstatt in ständige Nachfragen, warum alles so ist, wie es ist, hättest Du Dich über die gefallenen Stichpunkte schon lange zu einer möglichen Lösung lesen können!


Problemstellung
  • Du willst Teile aus dem Quelltext einer Seite laden und in einer JS-Variablen ablegen.
  • Du hast keine Möglichkeit, im gegebenen Umfeld serverseitige Scripte zu nutzen.

Mögliche Lösung
  • Besorg Dir einen Webspace für ein paar Cent auf dem PHP läuft
  • Erstelle dort ein Script, das mit cURL und bspw. DOMDocument/DOMXPath den Teil Deines gewünschten Quelltextes ausgibt.
  • Rufe das Script per Ajax ( das ist reines JS! ) auf und speichere die Rückgabe ( Ausgabe des Scripts ) in der Variablen Deiner Wahl.

Wenn Du solche Vorhaben umsetzen willst, solltest Du etwas mehr Fantasie und Eigeninitiative entwickeln. Der obligatorische Blick über den Tellerrand ist immer ein guter Begleiter in der Programmierung!

Ist Dir das ganze die paar Cent eines Webspace nicht wert, ist das ganze Vorhaben eh Müll!
 
@Arne Drews

Zu aufwendig. Weil es mich selber interessiert hat, hier ein getestetes Beispiel mit PhantomJS.
Code:
var page = require('webpage').create();

page.open('https:/html.de', function() {
  var foo = page.evaluate(function() {
    return document.getElementById('headerMover').textContent;
  });
  console.log(foo);
  phantom.exit();
});
 
Ja, schick ist das, kenne PhantomJS nicht.
Und das funktioniert auch über die SOP hinaus?
 
Werbung:
Ja, cooler auf jeden Fall. :)
Ich ging bei meinem Vorschlag davon aus, dass er JS nur Client seitig nutzen kann.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben