mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 25.04.2024 02:46 Benutzername: Passwort: Auto-Login

Thema: Reload von DIV-Inhalt mit JavaScript? vom 19.06.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Reload von DIV-Inhalt mit JavaScript?
Seite: Zurück  1, 2, 3, 4, 5, 6, 7, 8  Weiter
Autor Nachricht
chrisegeland

Dabei seit: 25.12.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 26.05.2009 04:14
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo zusammen!

Ich muss nun mal diesen alten Thread aufgreifen, den mir die Suchfunktion geliefert hat und der mir schon sehr geholfen hat.

Und zwar war es exakt der untenstehende Code, der ein div auf einer Seite reloaded. Funktioniert bei diesem Beispiel auch wunderbar, nur was mache ich wenn ich einen Javascript Code includen will. Kann es sein, dass das gar nicht geht mit dieser Methode bzw. mit AJAX allgemein. Oder wenn ja wie? Bei mir wird absolut gar nichts dargestellt, geschweige denn gereloaded, sobald ich Javascript include. Vielleicht kann mir einer von euch Pros da helfen.

Gruß Chris

Raumwurm hat geschrieben:
Beispiel:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>PeriodicalUpdater</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript">
<!--
function init() {
   new Ajax.PeriodicalUpdater('dropzone', 'update.php', {
     method: 'get', frequency: 2
   });
}
window.onload = init;
-->
</script>
</head>
<body>
<div id="dropzone">
   Leer erstma
</div>
</body>
</html>


new Ajax.PeriodicalUpdater('id-des-div-welches-geupdated-werden-soll', 'datei-die-reingeladen-werden-soll', {
method: 'get', frequency: sekunden-intervall
});

In die id="dropzone" kommt dann diese update.php
Code:
<p>neue Inhalte kamen um <?php echo date( 'H:i:s' ); ?></p>


Zuletzt bearbeitet von chrisegeland am Di 26.05.2009 04:18, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
zweitaccount

Dabei seit: 25.01.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 26.05.2009 06:38
Titel

Antworten mit Zitat Zum Seitenanfang

Moin am einfachsten wohl über Mootools, da gibts es evalScripts: true,
dass macht was du willst (bzw. evalResponse):
http://mootools.net/docs/core/Request/Request.HTML

Sähe dann in etwa so aus:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Update via Mootools</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="mootools-1.2-core-yc.js"></script>
<script type="text/javascript">
<!--
window.addEvent('domready', function() {
    updater = new Request.HTML({
      url: 'update.php',
      update: $('dropzone'),
      evalScripts : 'true',
      onComplete: function() {
         updateTimer();
      }
   });
   updateTimer = function() {
      updater.send().delay(500);
   };
   updateTimer();
});
-->
</script>
</head>
<body>
<div id="dropzone">
   date goes here
</div>
</body>
</html>


Gruß
zweitaccount
  View user's profile Private Nachricht senden
Anzeige
Anzeige
chrisegeland

Dabei seit: 25.12.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 26.05.2009 09:21
Titel

Antworten mit Zitat Zum Seitenanfang

Danke dir für den Tip. Allerdings zickt das Script noch rum. Ich kann die Zeit für den Reload, also z.B. 8 Sekunden nicht einstellen. IE 8 spuckt mir für diesen Teil nen Fehler aus.

updateTimer = function() {
updater.send().delay(8000);
};

Es wird jede auch Sekunde gereloaded. Woran liegt das?

Gruß

Chris
  View user's profile Private Nachricht senden
zweitaccount

Dabei seit: 25.01.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 26.05.2009 12:25
Titel

Antworten mit Zitat Zum Seitenanfang

Hi, ja sorry so gehts in der Tat nicht, aber ich sehe gerade
Mootools stellt auch ein 'periodical' zur Verfügung:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Update via Mootools</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="mootools-1.2-core-yc.js"></script>
<script type="text/javascript">
<!--
var updater, updateInterval;
window.addEvent('domready', function() {
   updater = new Request.HTML({
      url: 'update.php',
      update: $('dropzone'),
      evalScripts : 'true'
   }).send();
   updateInterval = function() {
      this.send();
   };
   updateInterval.periodical(8000, updater);
});
-->
</script>
</head>
<body>
<div id="dropzone">
   date goes here
</div>

</body>
</html>

Damit sollte es jetzt aber funzen. Lächel
  View user's profile Private Nachricht senden
chrisegeland

Dabei seit: 25.12.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 26.05.2009 15:47
Titel

Antworten mit Zitat Zum Seitenanfang

hi zweitaccount! ja danke dir, damit geht es in der tat, sprich wenn ich eine script.js include wird diese ausgegeben, im gegenteil zur prototype version. das nächste problem ist allerdings, dass sich die script.js zwar neu läd alle 8 sekunden, den output jedoch, der durch die script.js erzeugt und ausgegeben wird, immer "mitnimmt". bei mir handelt es sich um ein js codeschnipsel einer adserver software, welche folgendermaßen aussieht:

Code:

<script type='text/javascript'><!--//<![CDATA[
   var m3_u = (location.protocol=='https:'?'https://localhost/openx-2.8.0/www/delivery/ajs.php':'http://localhost/openx-2.8.0/www/delivery/ajs.php');
   var m3_r = Math.floor(Math.random()*99999999999);
   if (!document.MAX_used) document.MAX_used = ',';
   document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
   document.write ("?campaignid=54");
   document.write ('&amp;cb=' + m3_r);
   if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used);
   document.write (document.charset ? '&amp;charset='+document.charset : (document.characterSet ? '&amp;charset='+document.characterSet : ''));
   document.write ("&amp;loc=" + escape(window.location));
   if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));
   if (document.context) document.write ("&context=" + escape(document.context));
   if (document.mmm_fo) document.write ("&amp;mmm_fo=1");
   document.write ("'><\/scr"+"ipt>");
//]]>--></script><noscript><a href='http://localhost/openx-2.8.0/www/delivery/ck.php?n=abbe6270&amp;cb=INSERT_RANDOM_NUMBER_HERE' target='_blank'><img src='http://localhost/openx-2.8.0/www/delivery/avw.php?campaignid=12&amp;cb=INSERT_RANDOM_NUMBER_HERE&amp;n=abbe6270' border='0' alt='' /></a></noscript>


der banner wird zwar korrekt ausgegeben, aber nach 8 sekunden sind 2 banner im div, wieder nach 8 sekunden sind 3 da usw.

meinst du da kann man was machen?

gruß chris


Zuletzt bearbeitet von chrisegeland am Di 26.05.2009 15:48, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
zweitaccount

Dabei seit: 25.01.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 26.05.2009 17:24
Titel

Antworten mit Zitat Zum Seitenanfang

Öhm, mich wunderts ehrlich gesagt, dass das mit dem
openx script reinwriteln überhaupt funktioniert Au weia!

Aber vielleicht einfach mal vorher leeren das Ding:
Code:
updateInterval = function() {
   $('dropzone').empty();
   this.send();
};

Schon versucht?
  View user's profile Private Nachricht senden
chrisegeland

Dabei seit: 25.12.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 26.05.2009 18:19
Titel

Antworten mit Zitat Zum Seitenanfang

Hmm, scheint leider nichts zu bewirken. Es bauen sich weiterhin Ads hintereinander auf. Der IE spuckt mir aber auch nen Fehler aus, den ich nicht verstehe. Hier der Code:

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Update via Mootools</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="mootools-1.2.2-core-yc.js"></script>

<script type="text/javascript">
<!--
var updater, updateInterval;
window.addEvent('domready', function() {
   updater = new Request.HTML({
      url: 'script.php',
      update: $('dropzone'),
      evalScripts : 'true'
   }).send();
   updateInterval = function() {
      this.send();
   };
   updateInterval.periodical(8000, updater);
   updateInterval = function() {
   $('dropzone').empty();
   this.send();
};
});
-->
</script>
</head>
<body>
<div id="dropzone">
wadawdwad
</div>
</body>
</html>


Zuletzt bearbeitet von chrisegeland am Di 26.05.2009 18:39, insgesamt 3-mal bearbeitet
  View user's profile Private Nachricht senden
zweitaccount

Dabei seit: 25.01.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 26.05.2009 19:41
Titel

Antworten mit Zitat Zum Seitenanfang

Da ist jetzt das updateInterval doppeltgemoppelt. So wärs
in der richtigen Reihenfolge, was aber nichts an dem Problem
ändert...
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Update via Mootools</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="mootools-1.2.2-core-yc.js"></script>

<script type="text/javascript">
<!--
var updater, updateInterval;
window.addEvent('domready', function() {
   updater = new Request.HTML({
      url: 'script.php',
      update: $('dropzone'),
      evalScripts : 'true'
   }).send();
   updateInterval = function() {
      $('dropzone').empty();
      this.send();
   };
   updateInterval.periodical(8000, updater);
});
-->
</script>
</head>
<body>
<div id="dropzone">
wadawdwad
</div>
</body>
</html>


Was macht den dieses gewritelte openx-script denn überhaupt?
Schreibt das vielleicht den Banner gar nicht in das DIV#dropzone
sondern woanders hin? Wenn ja, müsstest Du das ausleeren,
anstatt der dropzone.

Ansonsten könntest Du mal versuchen, die noscript-Variante
auszugeben, also in die script.php folgendes packen (und das
javascript darüber rauskicken):
Code:
<a href='http://localhost/openx-2.8.0/www/delivery/ck.php?n=abbe6270&amp;cb=<?=time()?>' target='_blank'><img src='http://localhost/openx-2.8.0/www/delivery/avw.php?campaignid=12&amp;cb=<?=time()?>&amp;n=abbe6270' border='0' alt='' /></a>
  View user's profile Private Nachricht senden
 
Ähnliche Themen JavaScript select/option switch ohne reload
[javascript] div inhalt ändern - auf die andere art
Anzeige von Inhalt nur bei aktiviertem Javascript
[JavaScript] Fenstergröße dem Inhalt anpassen
[javascript] variablen mit mehrzeiligem inhalt
Bei Klick in Formularfeld Inhalt löschen.. - JavaScript?
Neues Thema eröffnen   Neue Antwort erstellen Seite: Zurück  1, 2, 3, 4, 5, 6, 7, 8  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.