O execCommand SaveAs funciona no Firefox?

Por que isso não funciona em ff / chrome?

javascript: document.execCommand('SaveAs','true','http://www.google.com'); 

(usado como um bookmarklet)

O execCommand não é completamente padronizado nos navegadores. De fato, execCommand (‘SaveAs’, …) parece ser suportado apenas no IE. A maneira recomendada de forçar um save-as seria usar um header content-disposition: attachment, conforme descrito em http://www.jtricks.com/bits/content_disposition.html

Como isso faz parte do header HTTP, você pode usá-lo em qualquer tipo de arquivo. Se você estiver usando o apache, poderá adicionar headers usando o arquivo .htaccess, conforme descrito aqui . Por exemplo:

   Header set Content-Disposition "attachment" # for older browsers Header set Content-Type "application/octet-stream"   

É possível fazer isso no Firefox por meio de URIs de dados (consulte também Fazer o download do arquivo de URL de dados ) e, opcionalmente, através do atributo de download.

Veja http://html5-demos.appspot.com/static/a.download.html para uma demonstração de shim HTML5.

Como forçar salvar como checkbox de diálogo no firefox além de alterar os headers? também abrange este tópico.

Você também pode testá-lo pela seguinte demonstração testada pelo Firefox.

    

O seguinte também funciona para URLs, bem como para cargas iniciadas por JavaScript, sem o atributo de download (embora essa abordagem não permita um nome de arquivo, ele permite uma visualização em uma nova guia):

  

Hello world files:

Octet stream type to prompts download dialog in Firefox, but with no default file type or path:

(text example) (HTML example)

Quickly viewable (and manually savable) in browser but no dialog presented:

(plain text, same window) (plain text--in new tab) (HTML, same window)

Como a Microsoft coloca , “Não existe um padrão público que se aplique a esse método”.

O Firefox não suporta o execCommand. Na verdade, parece ser apenas para o IE.