Skip to main content

Bug Tracker

Side navigation

#12370 closed bug (fixed)

Opened August 22, 2012 05:54AM UTC

Closed August 30, 2012 03:26PM UTC

Last modified August 30, 2012 08:57PM UTC

jquery android 2.1-update1 problem

Reported by: pletnev.rusalex@gmail.com Owned by: mikesherov
Priority: blocker Milestone: 1.8.1
Component: core Version: 1.8.0
Keywords: Cc:
Blocked by: Blocking:
Description
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
</head>
<body>
  <script>
    $(function(){
      alert(1);
    });
  </script>
</body>
</html>

loading this page in android 2.1-update1 nothing happens.

using jquery 1.7.2 everything is ok.

Attachments (0)
Change History (21)

Changed August 22, 2012 12:43PM UTC by dmethvin comment:1

owner: → pletnev.rusalex@gmail.com
status: newpending

Do you get any errors? I don't think any of the core folks have a device with Android 2.1 so we may need to pull in the Mobile team on this.

Changed August 22, 2012 01:30PM UTC by mikesherov comment:2

@dmethvin, we can test on browserstack for android 2.1, but is it supported? According to this, http://developer.android.com/about/dashboards/index.html , Android 2.1 has 4% of mobile marketshare, and dropping.

Changed August 22, 2012 01:32PM UTC by dmethvin comment:3

owner: pletnev.rusalex@gmail.com
status: pendingnew

Well, Mobile says they support it ... http://jquerymobile.com/gbs/

If the numbers are that low now, however, I wonder if both teams should reconsider.

Changed August 22, 2012 01:41PM UTC by pletnev.rusalex@gmail.com comment:4

Replying to [comment:1 dmethvin]:

no any visible errors.

Changed August 22, 2012 05:43PM UTC by scottgonzalez comment:5

_comment0: Todd Parker confirmed it doesn't work. \ \ works with 1.7.2 - http://jsbin.com/aqevig/2/edit \ but not 1/8 - http://jsbin.com/aqevig/1 \ 1345657486049510
status: newopen

Todd Parker confirmed it doesn't work.

works with 1.7.2 - http://jsbin.com/aqevig/2/edit

but not 1.8.0 - http://jsbin.com/aqevig/1

Changed August 22, 2012 06:22PM UTC by mikesherov comment:6

component: unfiledcore
milestone: None1.8.1
owner: → mikesherov
priority: undecidedblocker
status: openassigned

dmethvin, this might be the final nail in the coffin for readyState=="interactive", unless we can prove this was fixed in a subsequent Android update, but all the emulators I have available on browserstack don't repro this bug, including the one that is purportedly 2.1.

If Todd can confirm this happens in a later version of Android, we might have to pull on readyState interactive.

Changed August 23, 2012 09:59PM UTC by mikesherov comment:7

Changed August 28, 2012 02:33AM UTC by dmethvin comment:8

Although we landed gh-907 and it did fix the IE9 problems, it did not fix these Android issues according to Wilto (Mat Marquis).

Changed August 28, 2012 03:27AM UTC by mikesherov comment:9

I really would love to know which phone / emulator this fails in so I can repro.

Changed August 28, 2012 03:35AM UTC by dmethvin comment:10

Browserstack doesn't have one that goes back to 2.1, which is telling us something.

Changed August 28, 2012 05:55AM UTC by pletnev.rusalex@gmail.com comment:11

it fails on ./android-sdk-linux/tools/android create avd -n 2.1 -t 6

Changed August 28, 2012 03:16PM UTC by dmethvin comment:12

Is there any more information you can give us on how it is failing? Debugging mobile devices is soooooo fun.

Changed August 28, 2012 03:19PM UTC by pletnev.rusalex@gmail.com comment:13

Replying to [comment:12 dmethvin]:

Is there any more information you can give us on how it is failing? Debugging mobile devices is soooooo fun.

No. it's just blank page http://jsbin.com/aqevig/1

Changed August 30, 2012 01:45PM UTC by patrick@hojoki.com comment:14

Just debugged the example above (wrapped in a webview and deployed as a native app) on the android 2.1 emulator. Here is the critical line from the debugging log:

JavaScript execution exceeded timeout. -- From line 8871 of http://code.jquery.com/jquery-1.8.0.js

Changed August 30, 2012 02:17PM UTC by dmethvin comment:15

_comment0: **Thanks!** I think this may point to the cause and a solution. That's in a depending on includeWidth being coerced from Boolean to integer; the Android browser must not be doing that right and wedging itself in the loop.1346336471225051

**Thanks**! I think this may point to the cause and a solution. That's in a loop depending on includeWidth being coerced from Boolean to integer; the Android browser must not be doing that right and wedging itself in the loop.

Changed August 30, 2012 03:26PM UTC by timmywil comment:16

resolution: → fixed
status: assignedclosed

Changed August 30, 2012 04:30PM UTC by dmethvin comment:17

@patrick, can you retest to confirm that we fixed the problem? I really appreciate your help!

Changed August 30, 2012 07:04PM UTC by prud comment:18

Replying to [comment:17 dmethvin]:

@patrick, can you retest to confirm that we fixed the problem? I really appreciate your help!

Works fine in the (rather limited) example from above. Glad that I was able to help :)

Changed August 30, 2012 07:29PM UTC by prud comment:19

I just gave it a try on a more complex mobile web app (again wrapped in a webview), which made it fail at another position:

JavaScript execution exceeded timeout. -- From line 1222 ..

Hope this helps narrowing it down further. Please re-open.

Changed August 30, 2012 07:36PM UTC by dmethvin comment:20

@prud, we've successfully addressed the issue in this ticket, which was that document.ready didn't fire in Android 2.1 with the given test case. There may be other issues with Android 2.1, but they should get their own ticket and reduced test case.

Changed August 30, 2012 08:57PM UTC by prud comment:21

Replying to [comment:20 dmethvin]:

@prud, we've successfully addressed the issue in this ticket, which was that document.ready didn't fire in Android 2.1 with the given test case. There may be other issues with Android 2.1, but they should get their own ticket and reduced test case.

Of course, you're absolutely right. Will open another one if I can narrow it down a bit.