Hoewel er veel dingen zijn die JavaScript kan gebruiken om uw webpagina's te verbeteren en de ervaring van uw bezoekers met uw site te verbeteren, zijn er ook een paar dingen die JavaScript niet kan doen. Sommige van deze beperkingen zijn te wijten aan het feit dat het script in het browservenster wordt uitgevoerd en daarom geen toegang tot de server heeft, terwijl andere het gevolg zijn van beveiliging die ervoor zorgt dat webpagina's niet met uw computer kunnen knoeien. Er is geen manier om deze beperkingen te omzeilen en iedereen die beweert in staat te zijn een van de volgende taken met JavaScript uit te voeren, heeft niet alle aspecten overwogen van wat het ook is dat ze proberen te doen.
Met behulp van Ajax kan JavaScript een verzoek naar de server verzenden. Dit verzoek kan een bestand in XML- of platte tekstindeling lezen, maar het kan niet naar een bestand schrijven tenzij het bestand dat op de server wordt opgeroepen, daadwerkelijk als een script wordt uitgevoerd om het bestand voor u te schrijven.
JavaScript heeft geen toegang tot databases tenzij u Ajax gebruikt en een server-side script hebt om de databasetoegang voor u uit te voeren.
Hoewel JavaScript op de clientcomputer wordt uitgevoerd (degene waar de webpagina wordt bekeken), is het niet toegestaan om toegang te krijgen tot iets buiten de webpagina zelf. Dit wordt gedaan om veiligheidsredenen, omdat anders een webpagina uw computer zou kunnen bijwerken om te installeren wie wat weet. De enige uitzondering hierop zijn bestanden die worden genoemd koekjes Dit zijn kleine tekstbestanden waarnaar JavaScript kan schrijven en waaruit kan worden gelezen. De browser beperkt de toegang tot cookies, zodat een bepaalde webpagina alleen toegang heeft tot cookies die door dezelfde site zijn gemaakt.
JavaScript kan een venster niet sluiten als het niet is geopend. Nogmaals, dit is om veiligheidsredenen.
Hoewel webpagina's uit verschillende domeinen tegelijkertijd kunnen worden weergegeven, in afzonderlijke browservensters of in afzonderlijke frames binnen hetzelfde browservenster, heeft het JavaScript dat wordt uitgevoerd op een webpagina die tot één domein behoort, geen toegang tot informatie over een webpagina van een ander domein. Dit helpt ervoor te zorgen dat privé-informatie over u die bekend is bij de eigenaren van een domein, niet wordt gedeeld met andere domeinen waarvan u mogelijk webpagina's tegelijkertijd hebt geopend. De enige manier om toegang te krijgen tot bestanden van een ander domein is om een Ajax-oproep naar uw server te doen en een server-side script toegang tot het andere domein te krijgen.
Alle afbeeldingen op uw webpagina worden afzonderlijk gedownload naar de computer waarop de webpagina wordt weergegeven, zodat de persoon die de pagina bekijkt, al een kopie van alle afbeeldingen heeft op het moment dat ze de pagina bekijken. Hetzelfde geldt voor de werkelijke HTML-bron van de webpagina. De webpagina moet elke gecodeerde webpagina kunnen decoderen om deze te kunnen weergeven. Hoewel voor een gecodeerde webpagina mogelijk JavaScript moet zijn ingeschakeld om de pagina te kunnen decoderen zodat deze door de webbrowser kan worden weergegeven, kan iedereen die weet hoe gemakkelijk kan worden opgeslagen nadat de pagina is gedecodeerd. de gedecodeerde kopie van de paginabron.