jquery/jquery-mobile — Issue #3185: Dynamic Page load sample: In-Memory broken in IE7
Author: ernieracer
Created: 2011-11-28 19:24:29+00:00
State: open

The In-Memory dynamic page loading sample is broken in IE7.

it throws the following exception:

SCRIPT1028: Expected identifier, string or number
sample-reuse-page.html, line 22 character 4

link is on the following page:
http://jquerymobile.com/demos/1.0/docs/pages/page-dynamic.html

and point to:
http://jquerymobile.com/test/docs/pages/dynamic-samples/sample-reuse-page.html

The reason is that IE7 doesn't allow trailing commas in object notations.

The following fixes the issue:

change:

var categoryData = {
animals: {
name: "Animals",
description: "All your favorites from aardvarks to zebras.",
items: [
{
name: "Pets",
},
{
name: "Farm Animals",
},
{
name: "Wild Animals",
}
]
...

to:

var categoryData = {
animals: {
name: "Animals",
description: "All your favorites from aardvarks to zebras.",
items: [
{
name: "Pets"
},
{
name: "Farm Animals"
},
{
name: "Wild Animals"
}
]
...

Even though JavaScript does allow trailing commas in objects and arrays (which makes the sample valid JavaScript code for non-IE7 browsers), the JSON specification to my knowledge does not.

I would also fix the sample code on http://jquerymobile.com/demos/1.0/docs/pages/page-dynamic.html .

Daniel