php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Jobs und Projekte > Projekthilfe
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Projekthilfe Hier könnt Ihr eine Art Projekthilfe anfordern. Unter Projekthilfe verstehen wir Angebote bei denen KEIN Geld gezahlt werden kann.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 26-07-2010, 17:18
baerenwurm
 Registrierter Benutzer
Links : Onlinestatus : baerenwurm ist offline
Registriert seit: Oct 2001
Beiträge: 87
baerenwurm ist zur Zeit noch ein unbeschriebenes Blatt
Question AJAX shoutbox: refresh rate für inaktive Benutzer ändern?

Hi.

Ich benutze in meinem Forum eine für phpBB2 modifizierte AJAX shoutbox. Leider ist standardmäßig keine automatische Erhöhung der refresh rate für inaktive Benutzer vorgesehen.

In einem leicht veränderten script auf einer anderen Seite hab ich jedoch ein paar Zeilen entdeckt, die die gewünschte Erhöhung bewirken sollten. Leider führte - in Ermangelung an JavaScript-Kenntnissen - mein copy&paste-Ansatz zu keinem Erfolg.

Wäre nett, wenn ihr mir helfen könntet!

Die relevanten Zeilen aus dem modifizierten script (siehe Anhang "mod_script.txt" für das komplette script):
PHP-Code:
// time
var now = new Date();
var 
time Math.round(now.getTime()/1000);

// ...

function Time() {
    
now = new Date();
    return 
Math.round(now.getTime()/1000);
}

function 
resetTime() {
    
time Time();
    
refresh_time 4000;
}

// ...

//deals with the servers' reply to requesting new content
function handlehHttpReceiveChat() {
    if (
httpReceiveChat.readyState == 4) {
        
// We didn't timeout 
        
clearTimeout(receiveTimeout);
        
results httpReceiveChat.responseText.split('---'); //the fields are seperated by ---
        //alert(results);
        
if (results.length 2) {
            
// Check that the last message wasn't printed before.
            
if (lastID results[results.length-5]) {
                
// Goes through the result one message at a time
                
for (i=0;< (results.length-1);i=i+5) { 
                    
// Insert the new content into the page
// wird in dem Original-Script anders gelöst, siehe "// Initiates the first data query" & "// Add content"
                    
if (lastID results[i+1]) {
                        
insertNewContent(results[i+2],results[i+3],results[i+4] ,lastID); 
                        
resetTime();
                    }
                }
                
lastID results[results.length-5];
            }
        }
        else {
            
// no new comment since..
            // 60 seconds
            
if ( refresh_time == 4000 & ((time 60) < Time()) ) {
                
// set refresh to 10 seconds
                
refresh_time 10000;
            }
            
// 5 minutes
            
else if ( refresh_time == 10000 & ((time 300) < Time()) ) {
                
// set refresh to 30 seconds
                
refresh_time 30000;
            }
            
// 30 minutes
            
else if ( refresh_time == 30000 & ((time 1800) < Time()) ) {
                
// set refresh to 2 minutes
                
refresh_time 120000;
            }
            
// 60 minutes
            
else if ( refresh_time == 120000 & ((time 3600) < Time()) ) {
                
// set refresh to 5 minutes
                
refresh_time 300000;
            }
        }
        
setTimeout('receiveChatText();'refresh_time);
    }

Das (von mir verwendete) Original-script ist ebenfalls im Anhang zu finden.
Angehängte Dateien
Dateityp: txt mod_script.txt (10,6 KB, 93x aufgerufen)
Dateityp: txt original-script.txt (12,7 KB, 398x aufgerufen)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem: mit Ajax 2 Divs ändern? piego HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 2 21-05-2010 08:46
Ajax Refresh! hiro HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 10 18-09-2007 08:51
meta refresh ändern Jache84 PHP Developer Forum 15 07-02-2007 09:13
Benutzer hinzufügen und Passwort ändern micman SQL / Datenbanken 2 24-02-2005 09:04
Wie kann ein Benutzer den Inhalt einer Variable ändern? js15 PHP Developer Forum 8 16-01-2004 22:56

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Von 0 auf über 2 Mio € Umsatz in weniger als 12 Monaten – wie die Pixelwerker das nur durch SEO geschafft haben
Von 0 auf über 2 Mio € Umsatz in weniger als 12 Monaten – wie die Pixelwerker das nur durch SEO geschafft habenSEO oder SEA? Warum SEO die besserer Methode ist.

01.10.2021 | Berni

Kundengewinnung und Kundenbindung
Kundengewinnung und KundenbindungVertrieb läuft doch immer persönlich. Das funktioniert nicht mit dem Internet! Wirklich?

24.09.2021 | Berni


 

Aktuelle PHP Scripte

AdRotator Light ansehen AdRotator Light

AdRotator Light (kurz: "Arlight") ist ein kostenloser und spielend einfach zu bedienender AdServer in PHP.

18.10.2021 scripthostingnet | Kategorie: PHP/ Bannerverwaltung
WebCounter by Scripthosting.net ansehen WebCounter by Scripthosting.net

Der WebCounter von Scripthosting.net ist ein kostenloser Besucherzähler in PHP. Seine Daten speichert er in einer SQLite oder MySQL Datenbank ab.

17.10.2021 scripthostingnet | Kategorie: PHP/ Besucherzaehler
Simple CMS PHP ansehen Simple CMS PHP

Simple CMS PHP is a very simple content management system. You just create a page content into the admin area and then copy the code for this content and paste it into the page of your website, where you want the content to appear. You do not need of any

01.10.2021 nevenov | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:38 Uhr.