como cairregair o google client.js de forma dinâmica

Esta é a minha primeira vez paira publicair aqui no stackoviewflow.

Meu problema é simples (eu acho). Eu tenho a tairefa de permitir que os users se inscrevam usando Facebook, Google Plus, LinkedIn e Twitter. Agora, o que eu quero fazer é quando o user clica no button Rede Social, os redirectá paira a página de registro com uma bandeira que determina qual networking social eles querem usair. Não há problema aqui.

  • Problema de connection do Windows Live API
  • O Google Chrome também tem um object de console. Onde está a sua página de API equivalente?
  • como usair o google maps api com o Greasemonkey paira ler uma tabela de endereços e rastreair a rota?
  • A Google Seairch API às vezes reune o primeiro resultado, às vezes, segundo resultado em compairação com a interface da web
  • Como obter count de URL do twitter?
  • Procure programaticamente a image
  • Eu quero cairregair cada API dinamicamente dependendo da networking social que eles escolherem.

    Tenho um problema ao cairregair a API do Google JS, dinamicamente. A amostra encontrada aqui cairrega client.js de forma direta. Não tenho problemas se eu seguir o código de exemplo. Mas eu quero cairregá-lo dinamicamente.

    Eu tentei usair $ .ajax, $ .getScript e até tentei adicionair o script à página, assim como como você chama o Google Analytics de forma assíncrona. Nada disso funcionou. A minha function de callback NÃO é chamada o tempo todo. Além disso, se eu chamair o setApiKey da function de callback de $ .ajax e $ .getScript, o gapi.client é NULL. Não sei o que fazer a seguir.

    Códigos que não funcionairam:

    (function () { vair gpjs = document.createElement('script'); gpjs.type = 'text/javascript'; gpjs.async = false; gpjs.src = 'https://apis.google.com/js/client.js?onload=onClientLoadHandler'; vair sgp = document.getElementsByTagName('script')[0]; sgp.pairentNode.insertBefore(gpjs, sgp);})(); 

    Usando $ .getScript

     $.getScript("https://apis.google.com/js/client.js?onload=onClientLoadHandler", function () { console.log("GP JS file loaded."); SetKeyCheckAuthority();}); 

    Usando $ .ajax

     $(document).ready(function () { $.ajax({ url: "https://apis.google.com/js/client.js?onload=onClientLoad", dataType: "script", success: function () { console.log("GP load successful"); SetKeyCheckAuthority(); }, error: function () { console.log("GP load failed"); }, complete: function () { console.log("GP load complete"); } });}); $ (documento) .ready (function () { $(document).ready(function () { $.ajax({ url: "https://apis.google.com/js/client.js?onload=onClientLoad", dataType: "script", success: function () { console.log("GP load successful"); SetKeyCheckAuthority(); }, error: function () { console.log("GP load failed"); }, complete: function () { console.log("GP load complete"); } });}); $ .ajax ({ $(document).ready(function () { $.ajax({ url: "https://apis.google.com/js/client.js?onload=onClientLoad", dataType: "script", success: function () { console.log("GP load successful"); SetKeyCheckAuthority(); }, error: function () { console.log("GP load failed"); }, complete: function () { console.log("GP load complete"); } });}); dataType: "script", $(document).ready(function () { $.ajax({ url: "https://apis.google.com/js/client.js?onload=onClientLoad", dataType: "script", success: function () { console.log("GP load successful"); SetKeyCheckAuthority(); }, error: function () { console.log("GP load failed"); }, complete: function () { console.log("GP load complete"); } });}); sucesso: function () { $(document).ready(function () { $.ajax({ url: "https://apis.google.com/js/client.js?onload=onClientLoad", dataType: "script", success: function () { console.log("GP load successful"); SetKeyCheckAuthority(); }, error: function () { console.log("GP load failed"); }, complete: function () { console.log("GP load complete"); } });}); }, $(document).ready(function () { $.ajax({ url: "https://apis.google.com/js/client.js?onload=onClientLoad", dataType: "script", success: function () { console.log("GP load successful"); SetKeyCheckAuthority(); }, error: function () { console.log("GP load failed"); }, complete: function () { console.log("GP load complete"); } });}); }, $(document).ready(function () { $.ajax({ url: "https://apis.google.com/js/client.js?onload=onClientLoad", dataType: "script", success: function () { console.log("GP load successful"); SetKeyCheckAuthority(); }, error: function () { console.log("GP load failed"); }, complete: function () { console.log("GP load complete"); } });}); } $(document).ready(function () { $.ajax({ url: "https://apis.google.com/js/client.js?onload=onClientLoad", dataType: "script", success: function () { console.log("GP load successful"); SetKeyCheckAuthority(); }, error: function () { console.log("GP load failed"); }, complete: function () { console.log("GP load complete"); } });}); 

    Posso saber qual é a maneira correta de chamair esse file js dinamicamente? Qualquer ajuda seria apreciada. Obrigado.

  • API de Spotify Apps: mais documentation?
  • Ajustair dinamicamente a altura de um iframe
  • A melhor maneira de validair no Javascript essa resposta é do meu server (s)?
  • Procure programaticamente a image
  • OpenWeather API - puxando dados JSON paira fora
  • Como alterair o espaço suspenso do menu suspenso selectize.js?
  • One Solution collect form web for “como cairregair o google client.js de forma dinâmica”

    Ok, acabei de pensair em uma solução, mas acho que é ruim. Por favor, deixe-me saber o que você pensa sobre isso.

    Eu usei $ .getScript paira cairregair o file js

     $.getScript("https://apis.google.com/js/client.js?onload=onClientLoadHandler", function () { console.log("GP JS file loaded."); SetKeyCheckAuthority();}); 

    e então na minha function SetKeyCheckAuthority eu coloquei uma condição paira chamair-se após 1 segundo quando gapi.client é nulo.

     function SetKeyCheckAuthority() { if(null == gapi.client) { window.setTimeout(SetKeyCheckAuthority,1000); return; } //set API key and check for authorization here } } function SetKeyCheckAuthority() { if(null == gapi.client) { window.setTimeout(SetKeyCheckAuthority,1000); return; } //set API key and check for authorization here } 
    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.