Wow. That's an interesting find.

I really need to drill down on what the problem is -- I've never been
more stumped as the page isn't producing any errors.

At least you were able to replicate the crash -- so I'm not insane
(and neither are the other 5 iPhones + 1 iTouch I've tried)

On 2/8/08, cvd <[EMAIL PROTECTED]> wrote:
> Steve,
>
> I tried it again (sequentially) and did crash.  One thing I noticed is that
> it does not crash when in landscape mode.  That tells me that it may not be
> cookie related.
>
> Chris.
>
>
>  On Feb 7, 2008 9:43 PM, Chris Van Dusen <[EMAIL PROTECTED]> wrote:
> > Steve,
> >
> > Ah.  That may be the difference.  I didn't click sequential down the
> > list (which is telling).
> > I'll give it a try when I get to work tomorrow (where the iPhone is),
> > and let you know.
> >
> > Chris.
> >
> >
> >
> >
> > On Feb 7, 2008, at 8:34 PM, Steve Finkelstein wrote:
> >
> > >
> > > Hi Chris,
> > >
> > > Thanks for the reply.
> > >
> > > Unfortunately rebooting the darn thing was my first instinct upon
> > > bumping into this annoying bug. I took the initiative to find 5
> > > colleagues with an iPhone and one colleague with an iTouch -- I was
> > > able to replicate the crashing of Safari on all 6 devices.
> > >
> > > I certainly wish I had the technical details worked out, and could
> > > blame it on my cookie code, but I really can't. It might be
> > > coincidence that after I added cookie code, that I was able to
> > > reproduce this crash.
> > >
> > > I setup a test page here to further debug, and my browser doesn't
> > > crash here: http://catalyst.httpd.org/iphone.html
> > >
> > > However the URL I provided below is still indeed very consistent for
> > > crashing. You just need to sequentially click the names starting from
> > > the first name down to about the 6th or 7th and it'll pop an alert
> > > with document.cookie, then crash.
> > >
> > > Tomorrow I will rewrite the cookie handlers and see if that fixes it.
> > > I just really hate abandoning the problem because it would be nice to
> > > know what is consistently crashing mobile safari and if it's possible
> > > to avoid it in future production.
> > >
> > > /sf
> > >
> > > On 2/7/08, Chris Van Dusen <[EMAIL PROTECTED]> wrote:
> > >>
> > >> This may sound crazy, but have you tried resetting the iPhone(s)?
> > >>
> > >> I had just deployed some code for the iPhone when 1.1.3 came out.  I
> > >> updated the phone, but when I went to test the app in production,
> > >> images were not displaying, and a search was not working.  The QA
> > >> guys updated the iPhone and iPod Touch that they use and didn't have
> > >> a problem.  After resetting, mine worked fine.
> > >>
> > >> Regarding your post about clearing cookies:  I've gotten to the point
> > >> where I would click 'Clear' twice before retesting.  I was talking to
> > >> one of the aforementioned QA guys and he said that he clears cookies,
> > >> goes back to Safari opens a new window and removes the one he was
> > >> testing with before.   Now, I do that too...
> > >>
> > >> hth,
> > >> Chris.
> > >>
> > >>
> > >> On Feb 7, 2008, at 4:12 PM, Steve Finkelstein wrote:
> > >>
> > >>>
> > >>> Chris,
> > >>>
> > >>> that's so darn odd. I'm able to replicate it all the time as soon
> > >>> as I
> > >>> hit the 'Leslie' patient. If I go straight down the list
> > >>> sequentially
> > >>> it consistently crashes on my iPhone. It does on a co-workers as
> > >>> well.
> > >>> I don't even know where to begin to start debugging.
> > >>>
> > >>> /sf
> > >>>
> > >>> On 2/7/08, cvd <[EMAIL PROTECTED]> wrote:
> > >>>> I was able to click all patients with no crash on the iPhone.  I'm
> > >>>> running
> > >>>> 1.1.3.
> > >>>>
> > >>>> Chris.
> > >>>>
> > >>>>
> > >>>> On Feb 7, 2008 1:47 PM, Steve Finkelstein <[EMAIL PROTECTED]> wrote:
> > >>>>
> > >>>>>
> > >>>>>
> > >>>>> If anyone wishes to try to replicate the crash, you can visit a
> > >>>>> demo
> > >>>>> of the site on http://iphone2.limemedical.com.
> > >>>>>
> > >>>>> If you click on Patient List via the landing page, click on the
> > >>>>> first
> > >>>>> 7+ patients (obviously they aren't real people)
> > >>>>>
> > >>>>> Your browser should and will crash (on the iPhone, won't on the
> > >>>>> desktop)
> > >>>>>
> > >>>>> There's nothing odd about my code that I can find. I'm having an
> > >>>>> extremely difficult time finding what's the cause of it because of
> > >>>>> lack of debugging tools on the iPhone.
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>> On 2/6/08, Steve Finkelstein <[EMAIL PROTECTED]> wrote:
> > >>>>>> Hey folks,
> > >>>>>>
> > >>>>>> I've been able to replicate a consistent crash with Mobile Safari
> > >>>>>> using 1.1.3 firmware. I'm using the cookie class written by David
> > >>>>>> Flanagan in his highly accredited JavaScript: The Definitive
> > >>>>>> Guide,
> > >>>>>> code can be found here:
> > >>>>>>
> > >>>>>>
> > >>>>
> http://www.davidflanagan.com/javascript5/display.php?n=19-2&f=19/
> > >>>> Cookie.js
> > >>>>>>
> > >>>>>> I believe the code I've appended at the bottom of this email
> > >>>>>> is the
> > >>>>>> culprit. I basically keep track of visited IDs of an <li>
> > >>>>>> element in a
> > >>>>>> cookie.  In a nutshell for those who don't feel like reading the
> > >>>>>> code,
> > >>>>>> I create a cookie and set its expiration to 24 hours. In it, I
> > >>>>>> have a
> > >>>>>> cookie named visited_data with a value of something like
> > >>>>>>
> > >>>>>> visited_data=visited:1|2|3|4
> > >>>>>>
> > >>>>>> where 1,2,3,4 are the visited IDs.  I have code which can
> > >>>>>> arbitrarily
> > >>>>>> remove ids and add ids. However, on the iPhone .. and iPhone only
> > >>>>>> (cannot replicate on Safari3/Webkit).. if I click enough <li>
> > >>>>>> elements, about 6+, it crashes the browser.
> > >>>>>>
> > >>>>>> Does anyone have any idea what could be causing it? Is the
> > >>>>>> value of
> > >>>>>> the cookie data limited in an iPhone? Is there a more elegant
> > >>>>>> approach
> > >>>>>> to my solution for storing visited status on multiple
> > >>>>>> elements, say
> > >>>>>> 100+ ?
> > >>>>>>
> > >>>>>> Using binary bitmasks has crossed my mind.. but I'm quite
> > >>>>>> reluctant at
> > >>>>>> the moment in that approach because of readability by other
> > >>>>>> developers.
> > >>>>>>
> > >>>>>> Thanks all.
> > >>>>>>
> > >>>>>> /sf
> > >>>>>>
> > >>>>>> code:
> > >>>>>>
> > >>>>>> function _check_status(obj) {
> > >>>>>>
> > >>>>>>         var evt = window.event;
> > >>>>>>         var el  = evt.srcElement;
> > >>>>>>
> > >>>>>>         if (el.tagName == "SELECT") return;
> > >>>>>>
> > >>>>>>         var pid = el.lastChild.id || el.parentNode.lastChild.id;
> > >>>>>>
> > >>>>>>         // Check if patient has been visited
> > >>>>>>         var cookie = new Cookie("visited_data");
> > >>>>>>
> > >>>>>>         // Check if patient has been visited.
> > >>>>>>         if(cookie.visited) {
> > >>>>>>                 // check if particular id has been visited.
> > >>>>>>
> > >>>>>>                         if(!cookie.check(pid)) {
> > >>>>>>                                 cookie.visited += "|" + pid;
> > >>>>>>                                 cookie.store(1);
> > >>>>>>                                 obj.className += " visited";
> > >>>>>>
> > >>>>>>                         } else {
> > >>>>>>                                 var values = cookie.visited.split
> > >>>>>> ("|");
> > >>>>>>                 delete cookie.visited;
> > >>>>>>                                 cookie.visited = '';
> > >>>>>>
> > >>>>>>                                 for(var i=0; i < values.length; i
> > >>>>>> ++) {
> > >>>>>>                         if (values[i] == pid)
> > >>>>>>                         continue;
> > >>>>>>                     else cookie.visited += "|" + values[i] ;
> > >>>>>>                 }
> > >>>>>>                                 cookie.visited =
> > >>>> cookie.visited.substring(1);
> > >>>>>>
> > >>>>>>                                 cookie.store(1);
> > >>>>>>                                 obj.className = "patients";
> > >>>>>>                         }
> > >>>>>>
> > >>>>>>          } else {
> > >>>>>>                         cookie.visited = pid;
> > >>>>>>                         cookie.store(1);
> > >>>>>>                         // User has NOT been visited, enable
> > >>>>>> their
> > >>>> visited status.
> > >>>>>>                         obj.className += " visited";
> > >>>>>>          }
> > >>>>>>
> > >>>>>> }
> > >>>>>>
> > >>>>>>>
> > >>>>>
> > >>>>
> > >>>
> > >>>>
> > >>
> > >>
> > >>>
> > >>
> > >
> > >
> > > >
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"iPhoneWebDev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/iphonewebdev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to