Webapps chatlog - 2007-07-08

Back to overview|Highlight a word

00:43:16   --> tadekewa has joined #webapps
01:07:44   --> Dutch has joined #webapps
01:08:00   <-- tadekewa has left #webapps stating ()
01:17:52   <-- Dutch has left #webapps stating ()
06:30:05   --> Ramunas_ has joined #webapps
06:31:11   <-- Ramunas has quit stating (Ping timeout)
06:54:58   --> Arie has joined #webapps
06:55:55   <-- Arie has left #webapps stating ()
08:00:19   --> Vet has joined #webapps
08:00:29   <-- Vet has left #webapps stating ()
08:39:06   --> ROBOd has joined #webapps
09:08:46   <-- Remco has quit stating (Ping timeout)
09:19:11   --> varma has joined #webapps
09:23:36   <-- varma has quit stating (Client exited)
09:38:21   --> LarsKL has joined #webapps
09:51:11   --> suf has joined #webapps
09:57:47   <-- suf has left #webapps stating ()
10:33:22   -!- Ramunas_ is now known as Ramunas
10:55:41   <-- roentgen has quit stating (Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org)
11:04:47   --> Ramunas_ has joined #webapps
11:05:05   <-- Ramunas has quit stating (Killed (NickServ (GHOST command used by Ramunas_)))
11:05:07   -!- Ramunas_ is now known as Ramunas
11:33:27   --> adorno has joined #webapps
11:36:07   --> roentgen has joined #webapps
11:40:12   --> chachi has joined #webapps
11:40:50   --> Remco has joined #webapps
11:54:33   <-- chachi has quit stating (Ping timeout)
12:20:31   --> chachi has joined #webapps
12:23:56   --> dungcali has joined #webapps
12:24:38   <-- dungcali has left #webapps stating ()
12:25:25   <-- chachi has left #webapps stating ()
12:35:50   --> Duriel has joined #webapps
12:35:55   <-- adorno has left #webapps stating ()
12:37:16   <-- Duriel has quit stating (Connection reset by peer)
13:54:50   --> mata17 has joined #webapps
13:54:54   <-- mata17 has left #webapps stating ()
15:07:56   --> pffYussupov has joined #webapps
15:22:59   --> delo has joined #webapps
15:27:01   <-- delo has left #webapps stating ()
16:28:15   --> Zerosan has joined #webapps
16:28:18 Zerosan Hi
16:31:55 Remco Or you can ask for more info in here :D
16:33:25 nicomen hi
16:33:59 Remco http://oxzone.opera.com:8088/ <= Nice chat interface too
16:35:09 Remco [18:25] < Zerosan> I don't know where to search else for this, well, I've got a little problem with a script I'm working on, it will be a ajax based chat, and I need to scroll a div layer that has scrollbars. Is there a way to do that in opera?
16:35:15 Remco The original question ;)
16:35:21 nicomen ah sure
16:37:10 Remco I answered it in #opera already
16:37:41 Remco With http://www.quirksmode.org/js/doctypes.html and this: var objDiv = document.getElementById("divExample"); objDiv.scrollTop = objDiv.scrollHeight;
16:39:50 Zerosan yeah, I'm trying that out right now
16:40:05 Zerosan works perfect :D
16:40:13 Zerosan thx
16:40:20 Remco You're welcome :)
16:42:46 Zerosan Well, I have a little other question, it's about the chat itself, for example, I want to only show about 500 lines, to make sure that the app won't take to much memory, is there a way to make this work effectivly?
16:43:19 gmoz I think the easiest way to do that would be something like this
16:43:36 gmoz each chat line would be a single div, you can put anything you want inside that but the div would contain a single line
16:43:51 gmoz then you have the big box where all the lines show up, so the divs are placed inside that
16:44:11 gmoz then create a variable which stores how many messages are visible right now
16:44:20 gmoz and when you add a new line, just increment it by one
16:44:29 gmoz then if it goes past 500
16:44:33 gmoz you just simply do something like this
16:44:57 gmoz chatContainer.removeChild(chatContainer.firstChild);
16:45:16 Remco If you add divs to an element, something like this will work: if (chat.childNodes.length > 500) { chat.removeChild(cc.firstChild); }
16:45:20 gmoz that would always remove the oldest message, provided that you keep the old one on top
16:45:34 gmoz I don't think that's a good idea
16:45:35 Remco So no need to create a var
16:45:39 gmoz It's probably faster with a variable
16:45:47 Zerosan yeah, it's fast with a variable
16:45:59 Remco Both work, it's your choice
16:46:00 Zerosan cause it doesn't count all childNodes every time
16:46:06 gmoz Exactly
16:46:23 Zerosan thx^^
16:47:45 Zerosan and another question, I'm using a little php script that creates javascript statements, the javascript stuff is processed using eval, that saves much traffic for me. Is this a good or a bad way to do that?
16:48:04 Remco If you run into issues with the scrolling not going to the bottom, just add 500 or so to the scrollHeight
16:48:29 Zerosan Remco, that's no problem, cause the text is added before the scrolling
16:48:38 Zerosan so the line height changes before I scroll.
16:48:47 nicomen why using eval?
16:49:25 Zerosan nicomen: I don't want to process to much stings with substrings etc.
16:49:53 Zerosan ( sorry for the missspellings, I'm having a bad keyboard right now )
16:50:57 Zerosan nicomen: sometimes I send a bunch of information and variables, it seems easier that way
16:59:25 nicomen as long a you trust the source of data I guess that's ok
16:59:35 nicomen (and you protect it from injection of stuff etc.
16:59:37 nicomen )
16:59:42 nicomen using JSON format?
16:59:54 Zerosan JSON?
17:00:15 Zerosan well, the data source is a php script I use, and it will be safe from injections when I'm finished
17:00:28 Zerosan I also remove dangerous characters.
17:04:19 nicomen I'm not a fan of eval really
17:04:57 nicomen instead of eval-ing a set of js commands from somewhere I would probably make a small "format" that you can parse and then run according functions
17:05:26 nicomen the last gives me control of just running accepted stuff by whitelisting
17:05:42 nicomen with eval, you have to remove potential data, and there is always a chance you miss some ;)
17:05:50 nicomen potential harmful
17:10:22   --> MrFoo has joined #webapps
17:11:06 MrFoo hi, any idea why (da fak) when i use external stylesheet in opera, my whole content disappears (in opera), when i attach same style inline everything is ok ??
17:11:13 MrFoo in opera
17:11:33 MrFoo always problems with opera
17:11:37 MrFoo damn
17:11:58 nicomen shouldn't fail, do you have an example page?
17:12:01 MrFoo and I'm not including html comments inside
17:12:05 MrFoo sure
17:12:28 MrFoo http://www.kochamcie.net/dev/admin/declarations/interface3
17:12:40 MrFoo here is css link http://www.kochamcie.net/dev/css/interface/interface.main.css
17:12:51 MrFoo its pretty much lite - only background color
17:12:58 MrFoo just check this in firefox and opera
17:13:52 MrFoo in firefox you should be able to see some text
17:14:04 MrFoo in opera only color changes, but text is gone (??)
17:15:25 nicomen just, before I start checking properly:
17:15:52 nicomen make sure your page validates to rule out any undefined errors (like how the browser should try different solutions if the page doesn't make sense)
17:16:04 nicomen at least make sure it validates on important stuff
17:16:32 Remco The js is doing something to the page, with js disabled the text shows
17:18:09 MrFoo hmm
17:18:49 nicomen MrFoo: is this htlm or xhtml?
17:18:52 nicomen html
17:19:13 nicomen the page works here if you add a <!DOCTYPE html> and remove /> on link and meta tags
17:21:06 nicomen hm, but not when I added a proper DOCTYPE, weird
17:21:40 Remco The inline js seems to be the problem
17:22:10 MrFoo this is weird because when styles are also inline js works as it should
17:22:34 MrFoo i'll investigate doctype
17:23:58 nicomen <DIV id="panels" STYLE='height: 0px; overflow: hidden'>
17:24:04 nicomen the javascript applies those styles
17:25:04 MrFoo some of them yes, but something should be visible, as in ff
17:25:53 nicomen but if you set the outer one to 0 anything inside wouldn't show?
17:28:56 nicomen hm, page is empty now?
17:32:17 MrFoo I've just changed it to xhtml 1.0 transitional and validated - its ok
17:34:50 nicomen yeah that's what not the problem here
17:35:02 MrFoo i know, I'm just desperate
17:35:08 nicomen is there some way I can watch the generated content in firefox?
17:35:15 MrFoo yes
17:35:20 MrFoo use firebug
17:35:20 nicomen how?
17:35:26 nicomen ah
17:35:27 MrFoo or webdeveloper plugin
17:35:55 MrFoo firebug lets you view dynamic content, and webdeveloper has option - show generated content
17:36:03 MrFoo i just added all styles inline
17:36:06 MrFoo and its ok now
17:36:10 MrFoo in opera
17:37:35 nicomen hm, that's the online difference?
17:37:47 nicomen maybe the jinterface thing runs before some styles are applied and gets confused?
17:37:55 MrFoo maybe
17:39:03 MrFoo eh
17:39:18 MrFoo thanks for help, i hoped maybe its some kind of common problem
17:39:30 nicomen well, I would like to get to the bottom of this
17:39:41 MrFoo ok
17:39:47 MrFoo what should i do then ?
17:39:54 MrFoo revert to external styles ?
17:40:27 nicomen if you have time, sure
17:40:58 nicomen btw. before, in firefox I got the text but blue bacground
17:41:05 nicomen now I get a totally different style
17:41:09 nicomen in both
17:41:51 MrFoo 1sec
17:44:21 nicomen can you copy the one with inline to another file?
17:46:59 MrFoo I've got this php-commented-out
17:48:24 MrFoo now another problem appeared suddenly (I've probably removed something)
17:48:30 MrFoo one more minute
17:51:31 nicomen hehe
17:51:39 nicomen I'm browsing thru jquery source
17:55:28   --> sam has joined #webapps
17:55:46 sam h
17:56:05 nicomen i
17:56:46 sam helo
17:59:04 MrFoo ok, at this moment its where problem started
17:59:05 nicomen hi
18:00:37 MrFoo sidebar works in opera, but as you can see its empty
18:02:17 MrFoo i started by removing javascript - and things appeared, then i removed styles, and turn js back on, and it worked but without styles
18:02:30 MrFoo maybe it is jquery/interface lib problem
18:03:02   <-- sam has quit stating (Ping timeout)
18:03:11 nicomen yeah probably something there
18:03:27 MrFoo but funny thing - it worked previously, and all examples are working on jquery/interface plugin site(s)
18:03:47 MrFoo and it worked previously with external styles
18:07:46   <-- roentgen has quit stating (Ping timeout)
18:07:48   --> Maurizio has joined #webapps
18:07:53 Maurizio hi
18:09:25   -!- Maurizio is now known as test
18:09:29   -!- test is now known as Maurizio
18:09:39 nicomen MrFoo: http://people.opera.com/nicolasm/test/interface3.html
18:09:50 nicomen with readable source for the jquery and interface stuff
18:09:58 nicomen still same bug though
18:10:16   <-- Maurizio has left #webapps stating ()
18:12:23 MrFoo it worked for me a second ago
18:12:47 MrFoo it took my breath so i couldn't speak for a sec, and now its not working again
18:13:02 MrFoo hell
18:13:21 MrFoo brb
18:13:59 Remco Change to usermode and then back to author mode...
18:14:34 nicomen but I don't get where it gets the 0 size from...
18:21:03   <-- pffYussupov has quit stating (Quit: Every time I make a website using frames god kills a Pokemon or two)
18:21:11 nicomen the error happens in accordion ;)
18:21:30 nicomen jQuery(this) .css('height', jQuery(this).css('height')) .css('overflow', 'hidden');
18:21:47 nicomen no idea why it does that, but removing that line fixed it
18:22:00 nicomen of course you have the obfuscated version there, so it might be hard to sport
18:22:01 nicomen spot
18:22:03 nicomen and fix
18:22:11 MrFoo :)
18:22:37 MrFoo hmm, why is div#area_editor not height 100%
18:22:53 MrFoo it was previously
18:23:05 MrFoo i'm having some problems with this too
18:25:32   --> roentgen has joined #webapps
18:25:59 nicomen good question
18:30:09 nicomen it works here:
18:30:14 nicomen http://people.opera.com/nicolasm/test/interface3.html
18:32:10 nicomen MrFoo: ok, here's the clue for the first problem:
18:32:37 nicomen .ready from jquery runs stuff after DOMContentLoaded (or script defer hack in MSIE)
18:32:53 nicomen when you have external stylesheets, the dom is loaded before all styles are applied
18:32:59 nicomen naturally
18:33:31 nicomen so the magic accordion stuff and other interface things read the attributes of elements before they have been applied by the css file
18:34:00 nicomen and liek I showed you up there it applies them back to the element, making the css file one being ignored
18:34:07 nicomen to solve this:
18:34:39 nicomen replace $(document).ready = line with:
18:34:40 nicomen document.addEventListener("load",
18:34:56 nicomen at the end replace ");" with ",false);
18:36:59 MrFoo ok
18:39:18 MrFoo works, and height100% also started to work... maybe it was related
18:40:02 nicomen possibly, maybe the body was resized to 0 also
18:40:06 MrFoo thank you very much, you've saved me a lot of time
18:40:14 nicomen thank you for being patient ;)
18:40:31 nicomen mind you, I'm not sure if anyone can be blamed for this behaviour
18:42:39 nicomen I'll write up a blog post about it and hopefully someone can enlighten me too ;)
18:42:49 nicomen and the gotcha is documented at least
18:47:31   --> mawiada26 has joined #webapps
18:47:45 MrFoo true
18:48:58   <-- mawiada26 has left #webapps stating ()
19:21:38 MrFoo nicomen: FYI document.addEventListener doesn't work in FF, I've used init = document.addEventListener||$(document).ready; and then init("load", function() { ... its not elegant ($(document).ready - should have one parameter) but it works
19:22:12 nicomen MrFoo: note that it might fail in FF too
19:22:47 MrFoo works in both
19:23:37 nicomen what I'm saying is that the inclusion might for some reason not be applied in time for when the DOMContentLoaded event is fired
19:23:55 nicomen leading to the same bug appearing in FF (or other browsers)
19:24:47 MrFoo indeed
19:24:49 MrFoo hmm
19:25:47 MrFoo maybe FF included external styles in DOMContentLoaded ?
19:25:52 MrFoo includes
19:26:07 nicomen try using window instead of document
19:26:24 nicomen MrFoo: maybe, unfortunately it's badly documented
20:00:12   --> RaJu has joined #webapps
20:07:51   <-- RaJu has quit stating (Ping timeout)
20:09:14 nicomen MrFoo: btw. try window.addEventListener
20:10:52   --> mario has joined #webapps
20:10:57   <-- mario has left #webapps stating ()
20:13:45 gmoz Isn't addEventListener non-crossbrowser compatible?
20:13:56 gmoz IE or something didn't like it I think
20:29:11   --> mario has joined #webapps
20:29:21   <-- mario has left #webapps stating ()
20:41:05   <-- roentgen has quit stating (Ping timeout)
20:42:18   --> roentgen has joined #webapps
20:42:42 nicomen gmoz: oh, great
20:42:52 nicomen window.onload then, but that breaks stuff ;)
20:43:07 gmoz Breaks? How?
20:43:19 nicomen previously added handlers are removed
20:43:40 gmoz well you need to create some init() function which runs all of them
20:44:00 gmoz or just use window.onload = function() { foo(); bar(); baz(); }
20:44:24 nicomen that only works if you are in total control of all onload functions in the document
20:44:42 nicomen if you included third party libs that use onload, or the user has some user scripts they will be removed
20:44:53 Remco http://www.howtocreate.co.uk/wrongWithIE/?chapter=Event+Model shows it quite nicely
20:48:32   <-- Zerosan has left #webapps stating ()
20:48:41 gmoz nicomen: which is why you shouldn't use crappy libs :P
20:49:00 gmoz if the lib has it's own onload handler set to window.onload, you can just peek at their code and add it again yourself.
20:49:07 gmoz which is what I did with sorttable
20:56:39   --> joker has joined #webapps
20:58:01   <-- joker has left #webapps stating ()
21:00:52   --> Ramunas_ has joined #webapps
21:01:56   <-- Ramunas has quit stating (Ping timeout)
21:02:24   -!- Ramunas_ is now known as Ramunas
21:06:40   --> janbar has joined #webapps
21:17:57 nicomen gmoz: what was your point then? window.onload will still break things
21:18:15 gmoz huh?
21:18:28 gmoz Yes it will break but there isn't any better methods
21:18:45 gmoz and anything it breaks can be easily fixed.
21:19:35 nicomen sure, everything can be worked around, but when suggesting window.onload I felt it was correctly to warn about it possibly breaking things
21:19:42 nicomen nothing else
21:29:44   --> fearphage has joined #webapps
21:29:54 fearphage is there a way to use selectNodes with namespaces?
21:30:53 gmoz nicomen: yeah
21:35:22   --> DARCK_LOVE has joined #webapps
21:35:40 nicomen fearphage: doesn't seem so, but if you google for selectNodesNS there is an algorithm suggestion that should work
21:35:45   <-- DARCK_LOVE has left #webapps stating ()
21:37:13 nicomen fearphage: maybe you rather want to use getElementsByTagNameNS() ?
21:37:55 fearphage requires a lot more looping to check properyies
21:39:00   <-- ROBOd has quit stating (Quit: http://www.robodesign.ro )
21:44:37 nicomen xpath?
21:45:23 fearphage well not using xpath will reuire looping
21:46:38   <-- LarsKL has quit stating (Quit: )
21:57:14   --> mario has joined #webapps
21:57:17   <-- mario has left #webapps stating ()
22:04:14   --> mario has joined #webapps
22:07:28   <-- MrFoo has left #webapps stating ()
22:12:22 fearphage http://my.opera.com/Opera/xml/foaf/ i'm trying to grab the memebrs list with document.getElementsByTagNameNS('http://xmlns.com/foaf/0.1/\', 'member'). whats wrong with that?
22:20:14 gmoz uh
22:20:24 gmoz getElementsByTagName('foaf:member') doesn't work?
22:20:49 gmoz or getElementsByTagNameNS('foaf','member') ?
22:21:37   <-- mario has left #webapps stating ()
22:23:09 fearphage http://developer.mozilla.org/en/docs/DOM:document.getElementsByTagNameNS
22:24:08 fearphage tried boath of those
22:28:24 nicomen it's not that easy, you need to use the whole URI
22:28:47 nicomen ah you used that
22:29:28 nicomen fearphage: hm it should work...
22:42:17 fearphage javascript:alert(document.getElementsByTagName('member').length) works in ff
22:42:59 nicomen 124 in Opera
22:43:07 nicomen oh, haha
22:43:10 nicomen that's my friends
22:45:25 fearphage maok, fixed
22:45:29 fearphage ok
22:48:37 nicomen so, NS one still not working?
22:53:27 fearphage yup
22:53:50 fearphage it was my fault. userjs
22:53:53 nicomen ah
23:23:14   --> ivan03031987 has joined #webapps
23:27:36 ivan03031987 hi i'm ivan
23:27:54 ivan03031987 i have some questions about kannel
23:29:04 fearphage kannel?
23:29:12 ivan03031987 yes
23:29:18 fearphage what is that?
23:29:55 fearphage kestrel?
23:30:58 ivan03031987 do you speak french?
23:31:20 ivan03031987 it's will be easy for me to speak with you
23:33:38 fearphage this is not a french speaking channel to my knowledge
23:33:57 ivan03031987 ok
23:34:35 ivan03031987 kannel it's a application with what you can do wap gateway
23:36:55 fearphage yea, i have no clue about that
23:37:56 ivan03031987  :)
23:37:56 ivan03031987 i'm very sorry
23:37:56 ivan03031987 thanks
23:39:32 fearphage sorry i couldn't help more
23:40:56   <-- ivan03031987 has quit stating (Ping timeout)
23:41:20   --> ivan03031987 has joined #webapps
23:41:34   <-- ivan03031987 has left #webapps stating ()