私は sencha touch 2.2.0 alpha で webapp を開発しています。他のビューをプッシュするナビゲーション ビューを使用しています。これらのビューの一部の要素は、デバイスがオフラインのときは異なる外観にする必要があります。これを達成するために、navigator.onLine をチェックし、false の場合は要素に「offline」クラスを追加します。これは、要素で初めて実行したときに期待どおりに機能します。しかし、戻るボタンを押してビューをポップし、ビューをスタックに再度プッシュすると、クラスが html に追加されません。コードが示すように、dom 内のすべての li 要素を探し、それらの ID が「link」で始まる場合、クラスが追加されます。要素をログに記録すると、クラスが追加されていないことがわかりますが、オブジェクト (コード内の「obj」) をログに記録すると、「dom」プロパティがそれを示しています。私が間違っていることや誤解していることはありますか?
if ( !navigator.onLine )
{
lis = Ext.DomQuery.select('li');
for ( i = 0; i < lis.length; i ++ )
{
if ( lis[i].id.substring(0, 4) == 'link' )
{
obj = Ext.get(lis[i].id);
obj.addCls('offline');
}
}
}