ほとんどの場合、それはおそらく価値がありませんが、これは実行可能です。
かなりの作業を経て、なんとかアプリを実行できました。JavaScriptのサポートはOS 5.0ではあまり良くなく、bfcapellの回答で示唆されているようにデバッグは非常に遅いです。
バックボーンを機能させるには、hashchangeイベントを使用してURLの変更を処理するコードをコメントアウトする必要があります(これは、ルーターが使用されていることを前提としています)。THereは、setintervalを使用して変更をポーリングするバックボーンのフォールバックです。
// Depending on whether we're using pushState or hashes, and whether
// 'onhashchange' is supported, determine how we check the URL state.
/*if (this._hasPushState)
{
alert('pushstate');
$(window).bind('popstate', this.checkUrl);
} else if (this._wantsHashChange && ('onhashchange' in window) && !oldIE)
{
alert('hashchange');
$(window).bind('hashchange', this.checkUrl);
} else if (this._wantsHashChange)
{*/
this._checkUrlInterval = setInterval(this.checkUrl, this.interval);
//}
アンダースコアのforeachメソッドも、ネイティブのforeachメソッドを使用しないように変更する必要があります。これは、コレクションを正しくレンダリングするために必要です。
var each = _.each = _.forEach = function (obj, iterator, context)
{
if (obj == null) return;
/*if (nativeForEach && obj.forEach === nativeForEach)
{
obj.forEach(iterator, context);
}
else*/
if (obj.length === +obj.length)
上記は、少なくともバックボーンがほとんど機能するようになるはずです。(私は主に、完全に機能するアプリを持っているために言いますが、時間内にさらにいくつかのOS5固有の問題を見つけると思われます)。