Antworten auf deine Fragen:
Neues Thema erstellen

[Javascript]onload-Event-Problem

xXBlackKnightXx

Noch nicht viel geschrieben

Hallo Community,

ich bin hier gerade am Verzweifeln, da ich nirgendwo etwas zu meinem Problem finde, ich hoffe nun, ihr könnt mir helfen.

Also, ich habe folgenden Javascript-Code:

HTML:
<script type="text/javascript">
function Anzeigen()
{
    location.href = "?g=" + escape(window.innerWidth);
}

window.onresize = Anzeigen;
window.onload = Anzeigen;
</script>
Das heißt, ich will, dass beim Aufrufen meiner Seite die Fensterweite per GET an die URL angehängt wird (um sie später per PHP weiterzuverarbeiten).
Das mit dem onresize ist soweit kein Problem, allerdings soll die Funktion ja auch beim ersten Aufruf ausgeführt werden.
Nun kommt "window.onload" ins Spiel.
Es wird zwar die Fensterweite angehängt, allerdings wird die Funktion Anzeigen() jetzt jede Sekunde aufgerufen, d.h. die Seite wird jede Sekunde neu geladen, somit ist es nicht mehr möglich auf eine andere Seite zu gelangen.

Meine Frage ist nun:

Wie bekomme ich es hin, dass die Funktion wirklich nur einmal aufgerufen wird bzw. bei einem Resize?

Vielen Dank im Vorraus,
xXBlackKnightXx
 

Duddle

Posting-Frequenz: 14µHz

AW: [Javascript]onload-Event-Problem


Wenn Sie die Eigenschaft href mit einem anderen URL überschreiben, interpretiert der Browser dies wie das Anklicken eines entsprechenden Hyperlinks. Auf diese Weise können Sie den Benutzer also via JavaScript zu einer anderen Datei weiterleiten.

Das location.href lädt die Seite ständig mit dem URL-Parameter neu. Neuladen = Ausführen des onload = Neuladen.

Wie kannst du das also mit JS ohne Neuladen machen? Garnicht.

Welche Alternativen gibt es? Spontan fiele mir ein, dass du jeden relevanten Link per JS nach Laden der Seite entsprechend erweitern könntest.


Duddle
 

xXBlackKnightXx

Noch nicht viel geschrieben

AW: [Javascript]onload-Event-Problem

Hmm schonmal vielen Dank.

Eventuell kannst du mir ja eine Alternative sagen, wenn ich genau beschreibe, was ich machen will.

Also, ich will beim Aufruf der Seite überprüfen, wie groß das Browserfenster des Benutzers ist und wenn sie unter einer bestimmten Grenze liegt, einen bestimmten HTML-Teil ausblenden.
Eine Möglichkeit wären natürlich Media Queries, allerdings kann man damit doch nur die Styles entfernen, daraus folgt, dass die Inhalte ungestylt erhalten bleiben und nicht verschwinden.

Kennt zufällig jemand eine Lösung für mein Problem? :)

mfg Black
 

Misco

Nicht mehr ganz neu hier

AW: [Javascript]onload-Event-Problem

Prüfe doch per PHP ob die onload function schon einmal ausgeführt wurde.

<script type="text/javascript">
function Anzeigen()
{
location.href = "?g=" + escape(window.innerWidth);
}

window.onresize = Anzeigen;
PHP:
 if(isset($_GET['g'])){ }
else {
window.onload = Anzeigen;
}
</script>

oder du hängst dazu eine andere getvaribale mit ran zum prüfen.

Grüße
Dennis
 

Duddle

Posting-Frequenz: 14µHz

AW: [Javascript]onload-Event-Problem

Also, ich will beim Aufruf der Seite überprüfen, wie groß das Browserfenster des Benutzers ist und wenn sie unter einer bestimmten Grenze liegt, einen bestimmten HTML-Teil ausblenden.

http://www.mediaevent.de/javascript/DOM-Manipulation.html#id4

Edit: ich vermute, nach Änderung der Browserfenster-Größe soll es mglw. wieder eingeblendet werden? Falls ja, brauchst du das Element nicht entfernen, sondern ihm nur .

Duddle
 
Zuletzt bearbeitet:

xXBlackKnightXx

Noch nicht viel geschrieben

AW: [Javascript]onload-Event-Problem

Vielen Dank für den Tipp, allerdings habe ich das schon probiert und es passiert einfach nichts egal welches Element ich mit welchem Style versehen will :(

Edit: Setze ich allerdings display manuell auf "none", wird das Element sofort ausgeblendet...
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: [Javascript]onload-Event-Problem

Magische Glaskugel usw.

Ohne Code ist keine Hilfe möglich.

Edit: ich merke, setAttribute funktioniert bei mir auch nicht wie erwartet. Du kannst den Style auch direkt setzen (wie in "Beachten Sie" im Link beschrieben):
Code:
document.getElementById("FooBar").style.display = "none";
.


Duddle
 
Zuletzt bearbeitet:

xXBlackKnightXx

Noch nicht viel geschrieben

AW: [Javascript]onload-Event-Problem

Danke für die Hilfe, es funktioniert nun endlich :)

Ich hatte den Code zwar schon einmal so probiert, anscheinend habe ich mich aber irgendwo vertippt.

Black
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben