ほとんどの場合はそれほど価値はありませんが、これは実行可能です。
かなりの作業の後にアプリを稼働させることができました.bfcapellの答えに示されているように、javascriptのサポートはOS 5.0では本当に素晴らしいものではなく、デバッグは非常に遅いです。
バックボーンを機能させるには、urchangeの変更を処理するためにhashchangeイベントを使用するコードをコメントアウトする必要があります(これは、ルータが使用されていることを前提としています)。これは、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特有の問題が2つ以上見つかると思います)。