var map_load = true;
var myScroll;
var ws = false;
- var prev_cid = 0;
$(window).bind('orientationchange', function(){
adjust_height();
$('#loading').css('display', 'block').height($(document).height());
$('body').append($('<div id="'+url.replace('/','_')+'"></div>').attr('animation', anim).load(web_root + session_id + '/' + url, param, reinit));
+ if (ws) {
+ ws.close();
+ ws = false;
+ }
try {
if (url.match(/all\/([0-9]+)/)) {
var cid = RegExp.$1;
- if (cid != prev_cid && ws) {
- ws.close();
- ws = false;
- }
- if (!ws) {
- ws = new WebSocket('ws://' + location.host + '/' + session_id + '/push/' + cid);
- ws.addEventListener("open",
- function () {
- /* alert('open'); */
- },false);
- ws.addEventListener("close",
- function () {
- /* alert('close'); */
- },false);
- ws.addEventListener("message",
- function (e) {
- var data = JSON.parse(e.data);
- $('div.scroll_wrap ul.edgetoedge li.sep').after(data.formatted);
- },false);
- prev_cid = cid;
- }
- } else {
- ws.close();
- ws = false;
+ ws = new WebSocket('ws://' + location.host + '/' + session_id + '/push/' + cid);
+ ws.addEventListener("open",
+ function () {
+ /* alert('open'); */
+ },false);
+ ws.addEventListener("close",
+ function () {
+ /* alert('close'); */
+ },false);
+ ws.addEventListener("message",
+ function (e) {
+ var data = JSON.parse(e.data);
+ $('div.scroll_wrap ul.edgetoedge li.sep').after(data.formatted);
+ },false);
}
} catch(e) {
Alias => 'keitairc',
Port => $cf->web_listen_port(),
ClientFilter => 'POE::Filter::HTTPD::Keitairc',
- ClientInput => \&http_request);
+ ClientInput => \&http_request,
+ ClientError => \&on_error,
+ );
# fire up main loop
$poe_kernel->run();
$kernel->yield('shutdown');
}
+sub on_error {
+ warn 'ClientError';
+ $ib->remove_stream($_[ARG3]);
+}
################################################################
sub dispatch{
my ($request, $heap) = @_;