Embora existam muitas coisas que o JavaScript pode ser usado para aprimorar suas páginas da Web e melhorar a experiência dos visitantes com seu site, também existem algumas coisas que o JavaScript não pode fazer. Algumas dessas limitações se devem ao fato de o script estar em execução na janela do navegador e, portanto, não poder acessar o servidor, enquanto outros resultam da segurança existente para impedir que as páginas da Web possam violar seu computador. Não há como contornar essas limitações e qualquer pessoa que afirme ser capaz de executar qualquer uma das as seguintes tarefas usando JavaScript não consideraram todos os aspectos do que eles estão tentando façam.
Usando o Ajax, o JavaScript pode enviar uma solicitação ao servidor. Essa solicitação pode ler um arquivo no formato XML ou texto sem formatação, mas não pode gravar em um arquivo, a menos que o arquivo chamado no servidor realmente seja executado como um roteiro para escrever o arquivo para você.
Mesmo que o JavaScript esteja sendo executado no
cliente computador (aquele em que a página da web está sendo visualizada) não é permitido acessar nada fora da própria página da web. Isso é feito por razões de segurança, pois, caso contrário, uma página da Web poderá atualizar seu computador para instalar quem sabe o quê. A única exceção a isso são os arquivos chamados biscoitos que são pequenos arquivos de texto nos quais o JavaScript pode gravar e ler. O navegador restringe o acesso a cookies para que uma determinada página da web possa acessar apenas cookies criados pelo mesmo site.Mesmo que páginas da Web de domínios diferentes possam ser exibidas ao mesmo tempo, em janelas separadas do navegador ou em janelas separadas quadros na mesma janela do navegador, o JavaScript em execução em uma página da Web pertencente a um domínio não pode acessar nenhuma informação sobre um página da web de um domínio diferente. Isso ajuda a garantir que informações pessoais sobre você que sejam conhecidas pelos proprietários de um domínio não sejam compartilhadas com outros domínios cujas páginas da Web você possa abrir simultaneamente. A única maneira de acessar arquivos de outro domínio é fazer uma chamada Ajax para o servidor e fazer com que um script do lado do servidor acesse o outro domínio.
Todas as imagens na sua página da Web são baixadas separadamente para o computador que exibe a página, para que a pessoa que visualiza a página já tenha uma cópia de todas as imagens no momento em que visualiza a página. O mesmo acontece com a fonte HTML real da página da web. A página da web precisa ser capaz de descriptografar qualquer página da web criptografada para poder exibi-la. Embora uma página da Web criptografada possa exigir que o JavaScript esteja ativado para que a página possa ser descriptografada para que ela possa a ser exibido pelo navegador da Web, depois que a página for descriptografada, qualquer pessoa que saiba como salvar facilmente a cópia descriptografada da página fonte.