2013-01-04 4 views
2

Je travaille sur the Dive Into HTML 5 Tutorial on localstorage, et est tombé sur ce morceau de code:Javascript Essayez Catch pour localStorage détection

function supports_html5_storage() { 
    try { 
return 'localStorage' in window && window['localStorage'] !== null; 
    } catch (e) { 
return false; 
    } 
} 

Je comprends la partie sur return 'localStorage' in window, etc, mais ce que je ne comprends pas pourquoi la besoin d'une déclaration try catch ici? Ne suffit-il pas d'écrire simplement ci-dessous?

function supports_html5_storage(){ 
return 'localStorage' in window && window['localStorage']!==null; 
} 

Soit dit en passant: je fais (sorte de) connaître le but de try/catch, je me demande quel genre d'exception peut-on être peut-être attendre?

+0

Mec ... vous devriez lire les quelques lignes dans le code que vous publiez ... –

+0

homme Oh, incroyable ... j'ai raté cette ligne! Question stupide alors, il s'avère. Mes excuses. Merci à tous pour votre contribution. À votre santé. – anthonytwp

Répondre

5

Si votre navigateur prend en charge le stockage HTML5, il y aura un localStorage propriété sur l'objet global de la fenêtre. Si votre navigateur ne prend pas en charge le stockage HTML5, la propriété localStorage ne sera pas définie. En raison d'un bug dans les anciennes versions de Firefox, ce test déclenchera une exception si les cookies sont désactivés, donc le test entier est enveloppé dans une instruction try..catch .

Au-dessus du texte copié à partir de: http://diveintohtml5.info/detect.html#storage