Bien qu'il y ait beaucoup de choses que JavaScript peut être utilisé pour améliorer vos pages Web et améliorer l'expérience de vos visiteurs avec votre site, il y a aussi quelques choses que JavaScript ne peut pas faire. Certaines de ces limitations sont dues au fait que le script s'exécute dans la fenêtre du navigateur et ne peut donc pas accéder au serveur tandis que d'autres sont le résultat de la sécurité en place pour empêcher les pages Web de pouvoir altérer votre ordinateur. Il n'y a aucun moyen de contourner ces limitations et toute personne qui prétend pouvoir effectuer l'une des tâches suivantes à l'aide de JavaScript n'a pas pris en compte tous les aspects de ce qu'elle essaie de faire.
En utilisant Ajax, JavaScript peut envoyer une demande au serveur. Cette demande peut lire un fichier au format XML ou en texte brut mais elle ne peut pas écrire dans un fichier à moins que le fichier appelé sur le serveur ne s'exécute réellement comme un script pour écrire le fichier pour vous.
JavaScript ne peut pas accéder aux bases de données sauf si vous utilisez Ajax et disposez d'un script côté serveur pour effectuer les accès à la base de données pour vous.
Même si JavaScript s'exécute sur l'ordinateur client (celui sur lequel la page Web est affichée), il n'est pas autorisé à accéder à quoi que ce soit en dehors de la page Web elle-même. Ceci est fait pour des raisons de sécurité car sinon une page web serait en mesure de mettre à jour votre ordinateur pour installer qui sait quoi. La seule exception à cette règle concerne les fichiers appelés biscuits qui sont de petits fichiers texte que JavaScript peut écrire et lire. Le navigateur restreint l'accès aux cookies afin qu'une page Web donnée ne puisse accéder qu'aux cookies créés par le même site.
JavaScript ne peut pas fermer une fenêtre s'il ne l'a pas ouverte. Encore une fois, c'est pour des raisons de sécurité.
Même si les pages Web de différents domaines peuvent être affichées en même temps, dans des fenêtres de navigateur distinctes ou dans des cadres distincts dans la même fenêtre de navigateur, le JavaScript exécuté sur une page Web appartenant à un domaine ne peut accéder à aucune information sur une page Web à partir de un domaine différent. Cela permet de garantir que les informations privées vous concernant qui peuvent être connues des propriétaires d'un domaine ne sont pas partagées avec d'autres domaines dont vous pouvez ouvrir simultanément les pages Web. La seule façon d'accéder aux fichiers d'un autre domaine est de faire un appel Ajax à votre serveur et d'avoir un script côté serveur pour accéder à l'autre domaine.
Toutes les images de votre page Web sont téléchargées séparément sur l'ordinateur affichant la page Web afin que la personne qui affiche la page ait déjà une copie de toutes les images au moment où elle affiche la page. Il en va de même pour la source HTML réelle de la page Web. La page Web doit pouvoir déchiffrer n'importe quelle page Web chiffrée pour pouvoir l'afficher. Bien qu'une page Web chiffrée puisse nécessiter l'activation de JavaScript pour que la page puisse être déchiffrée afin qu'elle puisse être affichée par le navigateur Web, une fois la page déchiffrée, quiconque sait comment peut facilement enregistrer la copie déchiffrée de la page source.