Jump to content

BOOK ABOUT JAVA SCRIPT ( please suggest me names)


SergioFeitoza

Recommended Posts

Hi friends. Can anyone suggest me a book to get or to buy where I can study to understand dep the Java Script language. I want, for example, to know how these phrases are formed, to know about Ajax events and even about how to do animations with Java Script. I thank you in advance. My first need is to understand how to save, in a desired directory,  as pdf a PrintScrenn / snap shot of a page. I could read a lot of examples in the forum but I do not know sufficiently to understand them.  For example , how to implment something equivalent to the Function ScreenShot below?  If it is not permitted to post names of books in the forum please write to my email sergiofeitozacosta@gmail.com

Thanks in advance

function screenshot(){    

html2canvas(document.querySelector("#capture")).then(

    canvas => {  

    var a = document.createElement('a');

    a.href = canvas.toDataURL("image/jpeg",1.0).replace("image/jpeg", "image/octet-stream");

    a.download = 'somefilename.jpg';

    a.click();                    

    });

}

 

  with UniButton1 do

    JSInterface.JSCode('html2canvas(document.querySelector("#' + JSId +'")).then(function(canvas) {ajaxRequest('#1', "getData", ["base64Data="+canvas.toDataURL()])});');

 procedure TMainForm.UniButton1AjaxEvent(Sender: TComponent; EventName: string;

  Params: TUniStrings);

begin

  if EventName='getData' then

  begin

    // Params.Values['base64Data']

    // Here you need to decode the Base64 string

    // data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAAAZ...AAAABJRU5ErkJggg==

  end;

end;

 

function canvasSaveAs(uri, filename) {

    var link = document.createElement('a');

    if (typeof link.download === 'string') {

        link.href = uri;

        link.download = filename;

        document.body.appendChild(link);

        link.click();

        document.body.removeChild(link);

    } else {

        window.open(uri);

    }

}

 

 

 fName := 'capture' + FormatDateTime('ddmmyyyyhhnnss', Now);

UniPanel1.JSInterface.JSCode(

    'html2canvas(document.querySelector("#'+ UniPanel1.JSId +'")).then(function(canvas) {'+

    '    canvasSaveAs(canvas.toDataURL(), "'+ fName +'");'+

    '});'

  );

 

Link to comment
Share on other sites

Caro Sergio:

Este problema de printscreen já solucinei há algum tempo. No nosso grupo  do telegram tem a solução correta usando outra técnica. Usando esta lib javascript pode ser feita com base na posição dos controles do seu program (um panel , o form etc... )

Atualmente, não se pode usar o comando normais de atalho para dar um print e colcar automatico via área de memória do browser via windows por questões de segurança. Isto funcionava na maioria dos browsers até uns 5 anos atrás e removeram pois andavam roubando dados de usuários com esta técnica. Portanto, somente usando comandos javascript e usando o código para salvar via download ou salvar o arquivo direto no disco, mas não se pode usar área externa de memória com o clipboard nativo do windows (via CTRL + V em qualquer programa) e o browser.  O contrário, ainda é possivel (de um programa externo colar no browser), ou ao menos ainda funcionava.

Segue o projeto usando sua lib. Depois termino com o suporte para envio por e-mail da imagem. Mas é coisa simples.

Veja no nosso site https://www.unigui.com.br ou no telegram https://t.me/uniguiBrazil

 

 

Sobre a sua pergunta, qualquer curso de Javascripty ajuda. É bem mais simples que pascal. Entretanto, no caso do uniGUI tem que estudcar o sencha ext.js que insere todo uma gama de propriedades, funções e objetos que somente existe nele. E muita coisa de JS de fora não vai funcionar direto no Ex.JS pois é incompatível.

LIV-1-cap-13.jpg

Project available only in the pack Silver at https://www.uniguiexpress.com

Link to comment
Share on other sites

Neste exemplo tem função para baixar direto via download e salvar no servidor uniGUI silenciosamente. Mostra como selecionar o controle container que no caso do form tem uma propriedade adicional para pegar o jsID. Este tipo de detalhe que só existe no uniGUI / Sencha Ext.JS.


Se pesquisar no forum, vai achar poucas responstas para pegar está info. Na época, lembro que deu muito trabalho.

Link to comment
Share on other sites

PS: Quando se já um printscreen (Tecla PrintScreen) da tela do browser, se está usando o clipboard do windows. Quando se dá um print seletivo no browser via JS, usa-se o browser como base e sua área útil visível apenas. São coisas completamente diferentes apesar de parecerem a mesma !

Link to comment
Share on other sites

1 hour ago, Fred Montier said:

Caro Sergio:

Este problema de printscreen já solucinei há algum tempo. No nosso grupo  do telegram tem a solução correta usando outra técnica. Usando esta lib javascript pode ser feita com base na posição dos controles do seu program (um panel , o form etc... )

Atualmente, não se pode usar o comando normais de atalho para dar um print e colcar automatico via área de memória do browser via windows por questões de segurança. Isto funcionava na maioria dos browsers até uns 5 anos atrás e removeram pois andavam roubando dados de usuários com esta técnica. Portanto, somente usando comandos javascript e usando o código para salvar via download ou salvar o arquivo direto no disco, mas não se pode usar área externa de memória com o clipboard nativo do windows (via CTRL + V em qualquer programa) e o browser.  O contrário, ainda é possivel (de um programa externo colar no browser), ou ao menos ainda funcionava.

Segue o projeto usando sua lib. Depois termino com o suporte para envio por e-mail da imagem. Mas é coisa simples.

Veja no nosso site https://www.unigui.com.br ou no telegram https://t.me/uniguiBrazil

Project51-PrintScreen2Canvas.rar 827.07 kB · 2 downloads

 

Sobre a sua pergunta, qualquer curso de Javascripty ajuda. É bem mais simples que pascal. Entretanto, no caso do uniGUI tem que estudcar o sencha ext.js que insere todo uma gama de propriedades, funções e objetos que somente existe nele. E muita coisa de JS de fora não vai funcionar direto no Ex.JS pois é incompatível.

LIV-1-cap-13.jpg

Caro Fred Muiito Obrigado  Resposta muito útil, completa e bem explicada . Vou trabalhar nela agora

Dear Fred Thank you Very useful, complete and well explained answer. I will work on it now

Link to comment
Share on other sites

1 hour ago, Fred Montier said:

Neste exemplo tem função para baixar direto via download e salvar no servidor uniGUI silenciosamente. Mostra como selecionar o controle container que no caso do form tem uma propriedade adicional para pegar o jsID. Este tipo de detalhe que só existe no uniGUI / Sencha Ext.JS.


Se pesquisar no forum, vai achar poucas responstas para pegar está info. Na época, lembro que deu muito trabalho.

Caro Fred Muiito Obrigado  Resposta muito útil, completa e bem explicada . Vou trabalhar nela agora

Dear Fred Thank you Very useful, complete and well explained answer. I will work on it now

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...