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 à la serveur alors que d’autres le sont en raison de la sécurité en place pour empêcher les pages Web de falsifier votre ordinateur. Il n’existe aucun moyen de contourner ces limitations et quiconque prétend pouvoir exécuter l’une des les tâches suivantes utilisant JavaScript n'ont pas pris en compte tous les aspects de ce qu'ils essaient 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 en tant que scénario pour écrire le fichier pour vous.
Même si JavaScript s'exécute sur le
client ordinateur (celui où 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.Même si les pages Web de différents domaines peuvent être affichées en même temps, soit dans des fenêtres de navigateur distinctes, soit dans des fenêtres distinctes cadres 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 à propos de page Web d'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 afin de pouvoir l'afficher. Alors qu'une page Web chiffrée peut nécessiter l'activation de JavaScript pour que la page puisse être déchiffrée pour pouvoir à afficher par le navigateur Web, une fois la page décryptée, toute personne qui sait comment enregistrer facilement la copie décryptée de la page la source.