Thanks for the above when I was trying to explain weird String.split() behaviour.
This may be a more general solution, though I have only tested it with newlines in the form \r\n on Firefox and IE.
This just returns the first line (whether blank or not) from the text containing the newlines. You would need to set up a pointer to step through for the other lines. But without the == 0 test I think the method above will lose the first line if it happens to be blank.
v = text_containing_newlines;
v = v.replace(/\r\n/, '\n');
if (v.search(/\n/) == 0) v = ''; // Else IE will ignore the blank line and fetch the next one
else if (v.search(/\n/) > 0) v = v.split(/\n/);