dertypdernixkan
New member
Abend...
Ich habe ein kleines Problem bei FF und einer Comet-Anwendung die ich grade teste. Ziel ist es, bei einem onclick eine Funktion zu starten.
Aufgerufen wird sie mit onclick="publish_it();".
js - ruft eine Funktion auf welche eine PHP-Datei aufruft (diese kleine Funktion ist im HEAD notiert), den Aufruf der der NovComet.publish lasse ich jetzt mal weg, der ist relativ unwichtig.
Das ist die NovComet.js
Bis hier her kein Problem.
Wenn ich mit Chrome, IE oder Opera einen Text verfasse und absende, erscheint auf meiner Index-Seite der neue Beitrag, nur beim Absenden über FF passiert nichts, außer, ich setze
Sofern ich auf Ok geklickt habe, lädt auch der FF auf der Indexseite die Daten. Nur ohne Alert, Confirm geht gar nix. Gibt es irgendeine "Sicherheitseinstellung" unter FF die Longpolling verhindert?
Ich habe ein kleines Problem bei FF und einer Comet-Anwendung die ich grade teste. Ziel ist es, bei einem onclick eine Funktion zu starten.
Aufgerufen wird sie mit onclick="publish_it();".
js - ruft eine Funktion auf welche eine PHP-Datei aufruft (diese kleine Funktion ist im HEAD notiert), den Aufruf der der NovComet.publish lasse ich jetzt mal weg, der ist relativ unwichtig.
HTML:
function publish_it() {
NovComet.publish('coz');
}
Das ist die NovComet.js
HTML:
NovComet = { sleepTime: 2000, _subscribed: {}, _timeout: undefined, _baseurl: "../fvs/comet.php", _args: '', _urlParam: 'subscribed', subscribe: function(id, callback) {
NovComet._subscribed[id] = {
cbk: callback, timestamp: NovComet._getCurrentTimestamp()
};
return NovComet;
},
_refresh: function() {
NovComet._timeout = setTimeout(function() {
NovComet.run()
}, NovComet.sleepTime);
},
init: function(baseurl) {
if (baseurl!=undefined) {
NovComet._baseurl = baseurl;
}
},
_getCurrentTimestamp: function() {
return Math.round(new Date().getTime() / 1000);
}, run: function() {
var cometCheckUrl = NovComet._baseurl + '?' + NovComet._args;
for (var id in NovComet._subscribed) {
var currentTimestamp = NovComet._subscribed[id]['timestamp']; cometCheckUrl += '&' + NovComet._urlParam+ '[' + id + ']=' + currentTimestamp;
}
cometCheckUrl += '&' + NovComet._getCurrentTimestamp();
$.getJSON(cometCheckUrl, function(data){
if(data.s == "0") {
NovComet._refresh();
} else {
for (var id in data['k']) {
NovComet._subscribed[id]['timestamp'] = data['k'][id]; NovComet._subscribed[id].cbk(data.k);
}
NovComet._refresh();
}
});
}, publish: function(id) {
var cometPublishUrl = NovComet._baseurl + '?' + NovComet._args;
cometPublishUrl += '&publish=' + id;
$.getJSON(cometPublishUrl);
}
};
Bis hier her kein Problem.
Wenn ich mit Chrome, IE oder Opera einen Text verfasse und absende, erscheint auf meiner Index-Seite der neue Beitrag, nur beim Absenden über FF passiert nichts, außer, ich setze
HTML:
function publish_it() {
NovComet.publish('coz');
alert("irgend was");
}
Sofern ich auf Ok geklickt habe, lädt auch der FF auf der Indexseite die Daten. Nur ohne Alert, Confirm geht gar nix. Gibt es irgendeine "Sicherheitseinstellung" unter FF die Longpolling verhindert?