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 - 20: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 - 20: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 27.04.2011 - 23: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 - 08: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 - 09: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 - 09: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 - 10: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 - 11: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 - 11: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 - 12: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

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 3 Tagen 10 Stunden
  • Hey danke
    vor 4 Tagen 4 Stunden
  • Update: jetzt gibt's ein
    vor 4 Tagen 22 Stunden
  • Hallo, im Prinzip habe ich
    vor 1 Woche 2 Tagen
  • Da scheint die Terminologie
    vor 1 Woche 2 Tagen
  • Kannst doch auch alles direkt
    vor 1 Woche 6 Tagen
  • In der entsprechenden View
    vor 1 Woche 6 Tagen
  • Dazu müsstest Du vermutlich
    vor 1 Woche 6 Tagen
  • gelöst
    vor 4 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 4 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