PDA

View Full Version : html5 cache manifest problem



dmillasich
16 Mar 2011, 10:00 AM
I have a Touch app that makes an ajax proxy call to fill several lists with server database content. As a performance tuning measure I added a cache manifest to the system to help with load time.

...working application go boom.

Specifically, the ajax proxy call doesn't occur when the cache manifest is engaged. The following error is displayed in the console:



Application Cache Checking event
Application Cache Downloading event
Application Cache Progress event (0 of 0)
Application Cache Cached event
Uncaught TypeError: Cannot read property 'length' of undefined sencha-touch.js:6
GET http://my.server.com/mobile/getlists&_dc=1300296770815&limit=25 undefined (undefined) getlists


I've stripped the references to the content that I want to cache, however, simply including an application manifest is enough to cause the app to fail.

The neutered application manifest file looks like this:



CACHE MANIFEST

# js/tablet/sencha-touch.js
# js/tablet/ncutils.js
# js/tablet/ncdb.js
# js/tablet/application.js
# js/tablet/player.js
# js/tablet/guide.js
# css/tablet/sencha-touch.css
# css/tablet/style.css

# NETWORK:


If I uncomment each of the file references and load the app, I can see each file being loaded as expected. This part seems to work just fine.

When the following part of the Touch application is reached however, the server side of the system is never reached:



var listStore = new Ext.data.Store({
model: 'listModel',
proxy: {
type: 'ajax',
url: 'http://my.server.com/mobile/getlists',
reader: {
type: 'json',
root: 'results'
}
},
listeners: {
datachanged: function(response){
list.refresh();
...
}
},
autoLoad: true
});


To recover, I remove the reference to the cache in the html tag, clear the cache, and reload. After doing this - the server side of the system is reached and data returned to the app, as designed.

Any thoughts would be highly appreciated.

eeb
17 Apr 2011, 4:29 AM
I had the same issue and added the following to the end of my cache manifest, which fixed the issue.

NETWORK:
*

1chiban
6 Oct 2011, 9:01 AM
got the same problem, tried that but didn't work. i assume the network:* makes the cached webpages useless no? because it means an internet connection will be needed to use them. because of that when i tried to start the application although the files were cached it didnt show any data :(

SpyKeey
13 Jan 2012, 2:39 AM
Hello there,

I've got the same problem. After caching I get the same error and nothing works anymore.
Has anyone any luck in finding a solution?

Luigi,