You can chuck all of your app's html-code into a script-tag such as <script type="text/html" id="app-template">[...]</script> and then only put this into your body (other than the script-tag): <div data-bind="template: { name: 'app-template' }"></div>
The network I tested it with (T-Mobile/EE in the UK) does not compress the contents within script-tags and it now all works flawlessly.
I just stumbled across the exact same issue.
You can chuck all of your app's html-code into a script-tag such as
<script type="text/html" id="app-template">[...]</script>
and then only put this into your body (other than the script-tag):<div data-bind="template: { name: 'app-template' }"></div>
The network I tested it with (T-Mobile/EE in the UK) does not compress the contents within script-tags and it now all works flawlessly.
I also just outlined it on my blog: http://www.clientengage.com/knockoutjss-containerless-control-flow-syntax-and-issues-on-3g-networks/