Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Anfängerfragen ›

[gelöst] Mit jQuery Seitenbereich alle paar Sekunden neu laden

Eingetragen von Nikdilis (29)
am 27.04.2011 - 21:09 Uhr in
  • Anfängerfragen
  • Drupal 7.x

Hallo,

ich möchte, dass ein bestimmter Bereich einer Drupal-Seite per AJAX alle 5 Sekunden neu geladen wird.
Hierzu habe ich folgende Seite gefunden:
http://codekicker.de/fragen/DIV-Inhalt-alle-5-Sekunden-neu-laden-Jquery/411

Unter Drupal bekomme ich das aber leider nicht hin. Wo liegt der Fehler?

Hier der Code. Danke für Eure Hilfe.
Gruß,
Nick Dilis

<?php
drupal_add_library
('system', 'drupal.ajax');
drupal_add_library('system', 'jquery.form');
?>


<div id="test">
<?php
$zufallszahl
= rand(1,100);
return
$zufallszahl;
?>

</div>

<script>
var updateDiv = function ()
{
$('#test').load('http://localhost/d7/content/test-ajax-reload-eines-bestimmten-bereiches', function () {
deinTimer = window.setTimeout(updateDiv, 5000);
});
}
var deinTimer = window.setTimeout(updateDiv, 5000);
</script>

‹ (gelöst)Von Plain Text auf Full HTML Drupal 7 Kommentieren nicht möglich ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ungeachted des Scriptes,

Eingetragen von drupalino (1064)
am 27.04.2011 - 21:19 Uhr

Ungeachted des Scriptes, welches Du dort postest:

Zitat:

<?php
$zufallszahl
= rand(1,100);
return
$zufallszahl;
?>

Was soll das denn sein?

Und zudem, was ist das überhaupt für ein file, wo Du das ausführst?

Kannst Du PHP und oder jQuery? oder hast Du dir das einfach so "zusammengebastelt" ?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sollte nur ein Beispiel gewesen sein ...

Eingetragen von Nikdilis (29)
am 28.04.2011 - 00:41 Uhr

also zu meinen Kenntnissen, zugegebenermaßen bin ich bei beiden Programmiersprachen nicht so der Crack, deswegen ja auch meine Frage.
Das PHP-Skript ist nur ein Test und soll den Reload des Bereiches (id: test) überprüfen, indem bei jedem Reload des Bereichs eine neue Zufallszahl ausgegeben wird.
Der Link bzw. das file was Du ansprichst ist die Seite, die den obigen Code enthält. Ziel ist es ja, den Bereich mit der id 'Test' alle 5 Sekunden neu zu laden.
Zusammengeschustert habe ich das mit Hilfe des oben erwähnten Links.

Gruss,
Nikdilis

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: Das PHP-Skript ist nur

Eingetragen von drupalino (1064)
am 28.04.2011 - 09:02 Uhr
Zitat:

Das PHP-Skript ist nur ein Test

aber es ist schon wichtig wo Du den Test ausführst.

Und Dein PHP Schnipsel, wie soll denn das bitte funktionieren? Ein Return in freier Wildbahn????

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kannst Du Dich bitte etwas präziser ausdrücken?

Eingetragen von Nikdilis (29)
am 28.04.2011 - 10:06 Uhr

ansonsten hilfst Du mir nicht wirklich. Wie gesagt, ich bin kein Experte.
Meinem Verständnis nach wird bei dem Reload ein bestimmter Bereich der Seite über den Server neu geladen. Folglich sollte PHP kein Problem darstellen.
Ich mag hier irren, wenn dem so sein sollte, dann bitte ich um hilfreiche Erläuterungen.
Ggf. kannst Du ein Beispiel aufzeigen, wie sich mein Anliegen realisieren lässt.
Damit wäre wahrscheinlich auch anderen geholfen.

Gruß,
Nick Dilis

  • Anmelden oder Registrieren um Kommentare zu schreiben

momentan macht dein snippet

Eingetragen von sth (13)
am 28.04.2011 - 10:49 Uhr

momentan macht dein snippet nicht sonderlich viel sinn. Hier mal ein sinnvolleres Beispiel: (aus dem Kopf getippt, keine Garantie)

<?php
drupal_add_library
('system', 'drupal.ajax');
drupal_add_library('system', 'jquery.form');
?>


<div id="test">
ich werde ersetzt
</div>

<script>
var updateDiv = function ()
{
$('#test').load('http://localhost/d7/ajax_test.php', function () {
deinTimer = window.setTimeout(updateDiv, 5000);
});
}
var deinTimer = window.setTimeout(updateDiv, 5000);
</script>

und hier die ajax_test.php, die von dem Javascript periodisch aufgerufen wird, und deren inhalt dem #test-div übergeben wird:

<?php
$zufallszahl
= rand(1,100);
print
$zufallszahl;
?>

Ich hoffe, so ist es etwas verständlicher.

Wenn man das nun besser mit drupal integrieren will, dann kommt man wohl um ein kleines Modul nicht rum. auf drupal.org gibt es einige ajax-Beispiele zu dem Thema.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke, funktioniert aber leider auch nicht.

Eingetragen von Nikdilis (29)
am 28.04.2011 - 11:42 Uhr

Fehlermeldung im IE8:
Details zum Fehler auf der Webseite

Benutzer-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Zeitstempel: Thu, 28 Apr 2011 09:40:15 UTC

Meldung: Das Objekt unterstützt diese Eigenschaft oder Methode nicht.
Zeile: 283
Zeichen: 1
Code: 0
URI: http://localhost/d7/content/ddl-test-ajax-reload-eines-bestimmten-bereiches

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ein bisschen Recherche +

Eingetragen von sth (13)
am 28.04.2011 - 12:03 Uhr

Ein bisschen Recherche + Eigeninitiative von Deiner Seite denke ich darf man schon erwarten, normalerweise nehmen die Leute für Ihr Wissen Geld und spielen nicht "wünsch-dir-was".

Anyway, JQuery + Drupal 7 nutzt nicht $ zum ansprechen des jquery-Objekts sondern 'jQuery':

hier das modifizierte Beispiel, das bei mir funktioniert:

<?php
drupal_add_library
('system', 'drupal.ajax');
drupal_add_library('system', 'jquery.form');
?>


<div id="test">
ich werde ersetzt
</div>

<script>
var updateDiv = function ()
{
jQuery('#test').load('<?php print url('ajax_test.php', array('absolute' => TRUE)); ?>', function () {
deinTimer = window.setTimeout(updateDiv, 5000);
});
}
var deinTimer = window.setTimeout(updateDiv, 5000);
</script>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank, hier meine funktionierende Lösung...

Eingetragen von Nikdilis (29)
am 28.04.2011 - 12:58 Uhr

habe zwar recherchiert, scheine aber für für Drupal bzw. den Drupal-way ein bisschen zu dusselig zu sein (bin hoffentlich nicht der einzige)
Ich bin mir aber sicher, dass dieses Beispiel anderen eine große Hilfe sein wird.

nun zu meiner -mit Hilfe von sth erstellten- Lösung, in der alle 20 Sekunden der Bereich mit der id 'test' (im Beispiel eine Zufallszahl) neu geladen wird.
Sehr simpel, wenn man weiß wie es geht! ;-)

<div id="test">
<?php
$zufallszahl
= rand(1,100);
print
$zufallszahl;
?>

</div>

<script>
var updateDiv = function ()
{
// #test stellt sicher, dass nur dieser Bereich neu geladen wird.
jQuery('#test').load('<?php print url('http://localhost/d7/content/ddl-test-ajax-reload-eines-bestimmten-bereiches #test', array('absolute' => TRUE)); ?>', function () {
Timer = window.setTimeout(updateDiv, 20000);
});
}
var Timer = window.setTimeout(updateDiv, 20000);
</script>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sauberere Drupal7 Lösung

Eingetragen von Nikdilis (29)
am 29.04.2011 - 13:10 Uhr

Siehe auch:
http://t6.forward-media.de/blog/drupal-7-tutorial-javascript-richtig-ein...

Alle 20 Sekunden wird der Bereich mit der id 'test' (im Beispiel eine Zufallszahl) neu geladen.
<div id="test">
<?php
$zufallszahl
= rand(1,100);
print
$zufallszahl;
?>

</div>

<script>

//Beginn Einbinden von jQuery-Code in Drupal 7
(function ($) {

//Beginn jQuery-Code
var updateDiv = function ()
{
$('#test').load('http://localhost/d7/content/ddl-test-ajax-reload-eines-bestimmten-bereiches #test', function () {
Timer = window.setTimeout(updateDiv, 20000);
});
}
var Timer = window.setTimeout(updateDiv, 20000);
//Ende jQuery-Code

//Ende Einbinden von jQuery-Code in Drupal 7
})(jQuery);

</script>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Venezia, Столица Тосканы, Доломиты и Великий Рим: превосходные способы исследования и лайфхаки за одни сутки
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
Weiter

Neue Kommentare

  • Verwende doch das Tag dafür,
    vor 1 Woche 3 Tagen
  • Guckst du hier: step by step
    vor 1 Woche 3 Tagen
  • Guckst du hier: step by step
    vor 1 Woche 3 Tagen
  • Ich habe ja keine Angst vor
    vor 2 Wochen 5 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 3 Wochen 18 Stunden
  • Vielen Dank erst einmal, aber
    vor 3 Wochen 2 Tagen
  • Du hast die "Trusted host
    vor 3 Wochen 2 Tagen
  • Bitte genauer den aktuellen Lösungs-Ansatz beschreiben
    vor 5 Wochen 1 Tag
  • Git und rsync sind die wichtigsten Werkzeuge
    vor 5 Wochen 5 Tagen
  • Arrrrg. Nix Tabelle :-D /*
    vor 10 Wochen 10 Stunden

Statistik

Beiträge im Forum: 250285
Registrierte User: 20501

Neue User:

  • JustinDueks
  • RandallFloop
  • Inga GuAph

» Alle User anzeigen

User nach Punkten sortiert:
wla9464
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 33 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association