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