Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Robson Augusto

Como transformar essa função em assíncrona

Recommended Posts

Boa noite galera, não tenho conhecimento em programação, o que desenvolvi em meu site atualmente foi através de pesquisas e curiosidade em aprender e modelar site por conta própria.

Hoje estou com um problema quanto a velocidade do site, muitas JS bloqueando a renderização do site, eu cheguei a tentar jogar todo JS para fim da página "footer", mas algumas páginas se desconfigurarão, então eu gostaria de pedir ajuda a vocês, sobre como eu deixo meu site mais rápido sem desconfigurar as páginas... Ou como adicionar o async dentro dessas funções!?

Segue o php de chamadas do css e js

 

<?php

class CaryAssets
{

    var $location;
    var $section;

    public function __construct()
    {
        $this->location = Rewrite::newInstance()->get_location();
        $this->section = Rewrite::newInstance()->get_section();

        osc_add_hook('header', array(&$this, 'enqueue_css'), 1);
        osc_add_hook('header', array(&$this, 'enqueue_js'));

    }


    function enqueue_css()
    {
        $location = Rewrite::newInstance()->get_location();
        $section = Rewrite::newInstance()->get_section();

        if ($location === 'user' && in_array($section, array('dashboard', 'profile', 'alerts', 'change_email', 'change_username', 'change_password', 'items'))) {
            $user = User::newInstance()->findByPrimaryKey(Session::newInstance()->_get('userId'));
            View::newInstance()->_exportVariableToView('user', $user);
            ?>
            <script type="text/javascript">
                var cary_theme = window.cary_theme || {};
                cary_theme.user = {};
                cary_theme.user.id = '<?php echo osc_user_id(); ?>';
                cary_theme.user.secret = '<?php echo osc_user_field("s_secret"); ?>';
            </script>
            <?php
        }
        // osc_enqueue_style('bootstrap', osc_current_web_theme_url() . 'lib/bootstrap/css/bootstrap.min.css');
        // customized bootstrap with 480px @media
        // https://gist.github.com/wdollar/135ec3c80faaf5a821b0
        osc_enqueue_style('bootstrap', osc_current_web_theme_url() . 'css/bootstrap.min.css');


        osc_enqueue_style('font-awesome', 'https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css');
        osc_enqueue_style('bootstrap-social', osc_current_web_theme_url() . 'css/bootstrap-social.css');

        osc_enqueue_style('bxslider-css', osc_current_web_theme_url() . 'lib/bxslider/css/jquery.bxslider.min.css');
        osc_enqueue_style('sweetalert-css', osc_current_web_theme_url() . 'js/sweetalert-master/dist/sweetalert.css');
        osc_enqueue_style('style', osc_current_web_theme_url() . 'css/style.css');

        osc_enqueue_style('style-jquery-ui', osc_current_web_theme_url() . 'lib/jquery-ui/jquery-ui.css');
        osc_enqueue_style('style-animatedModal', '//cdnjs.cloudflare.com/ajax/libs/animate.css/3.2.0/animate.min.css');
        if(Params::getParam('page') === 'item' &&
            (Params::getParam('action')==='item_add' || Params::getParam('action')==='item_edit')) {
            osc_enqueue_style('style-jquery-ui', osc_current_web_theme_url() . 'js/alt-checkbox/jquery.alt-checkbox.css');
        }
    }

    function enqueue_js()
    {
        osc_register_script('jquery', osc_current_web_theme_url() . 'lib/jquery/js/jquery-1.12.0.min.js');
        osc_enqueue_script('jquery');
        osc_register_script('jquery-ui', osc_current_web_theme_url() . 'lib/jquery-ui/jquery-ui.js', 'jquery');
        osc_enqueue_script('jquery-ui');
        osc_enqueue_script('php-date');

        osc_register_script('animatedModal', osc_current_web_theme_url() . 'js/animatedModal.js-master/animatedModal.min.js', 'jquery');
        osc_enqueue_script('animatedModal');

        osc_register_script('global-js', osc_current_web_theme_url() . 'js/global.js', 'jquery');
        osc_enqueue_script('global-js');

        osc_register_script('sticky', osc_current_web_theme_url() . 'node_modules/sticky-kit/dist/sticky-kit.js', 'jquery');
        osc_enqueue_script('sticky');

        osc_register_script('bootstrap-js', osc_current_web_theme_url() . 'lib/bootstrap/js/bootstrap.min.js', 'jquery');
        osc_enqueue_script('bootstrap-js');

        osc_register_script('bxslider-js', osc_current_web_theme_url() . 'lib/bxslider/js/jquery.bxslider.min.js', 'jquery');
        osc_enqueue_script('bxslider-js');

        $url = 'https://maps.googleapis.com/maps/api/js?libraries=places';
        if (trim(osc_get_preference('maps_key', 'cary_theme')) != '') {
            $url = 'https://maps.googleapis.com/maps/api/js?key=' . trim(osc_get_preference('maps_key', 'cary_theme')) . '&libraries=places';
        }
        osc_register_script('gmaps-js', $url);

        osc_register_script('sweetalert-js', osc_current_web_theme_url() . 'js/sweetalert-master/dist/sweetalert.min.js');
        osc_enqueue_script('sweetalert-js');

        if (osc_is_ad_page() && osc_get_preference('include_maps_js', 'cary_theme')) {
            osc_enqueue_script('gmaps-js');
        }

        osc_register_script('delete-user-js', osc_current_web_theme_js_url('delete_user.js'), 'jquery-ui');

        if (($this->location === 'user' &&
                in_array($this->section, array('dashboard', 'profile', 'alerts', 'change_email', 'change_username', 'change_password', 'items')))
            || (Params::getParam('page') === 'custom' && Params::getParam('in_user_menu') == true)
        ) {
            osc_enqueue_script('delete-user-js');
        }
        if(Params::getParam('page') === 'item' &&
            (Params::getParam('action')==='item_add' || Params::getParam('action')==='item_edit')) {
            osc_register_script('alt-checkbox-js', osc_current_web_theme_url() . 'js/alt-checkbox/jquery.alt-checkbox.js');
            osc_enqueue_script('alt-checkbox-js');
        }
    }
}
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Estou escrevendo um Sistema Java Web e quando clico no Botão Salvar, o Java acusa esse erro:

      ERROR: Cannot invoke "Object.toString()" because the return value of "java.util.Map.get(Object)" is null
       
      Já tentei de várias formas resolver esse problema, mas não estou conseguindo.

      Por favor, alguém pode me ajudar identificar a origem e resolver o problema acima ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Estou enfrentando um problema que não consigo entender.

      Após Instalar o MySql versão 8.0.36, funciona corretamente realizando as conexões.

      O problema é:
      ---[ após reiniciar o micro, o MySql não faz as conexões.
      --[ tenta localizar este arquivo, mas não acha: my.ini
       
      Onde localizo ou configuro este arquivo na Pasta MySql ?

      Grato,
       
      Cesar
    • Por Rafael_Ferreira
      Não consigo carregar a imagem do captcha do meu formulário. Foi testado com o xampp e easyphp. Também não carregou a imagem de outros captcha. 
       
       
    • Por luiz monteiro
      Olá.
      Estou atualizando meu conhecimento com Front-End e me deparei com o seguinte problema.
      Criei um sistema para fazer o upload de imagens e alguns campos text.
      Algo bem simples para depois começar a estudar javascript para mostrar a miniatura....
      Mas quando saio do navegador Chrome ou da aba por mais de 3 minutos, ao retornar o navegador as vezes atualiza ou nem chega atualizar mas limpa os campos.
      Estou usando um Smart Motorola com Android, mas um amigo testou no iPhone e acontece a mesma coisa.
      Gostaria de saber se há como usar javascript para evitar isso?
      Agradeço desde já.

      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <title>Uploader</title>
      </head>
      <body>
          <form action="?" method="post" enctype="multipart/form-data">
              <br><br>
              <div>selecione a imagem 1</div>
              <input type="file" name="foto1" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem1">
              
              <br><br>
              <input type="file" name="foto2" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem2">
              
              <br><br>

              <input type="file" name="foto3" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem3">
              
              <br><br>
              <input type="submit" value="Enviar">
              <br><br>
          </form>
      <?php
      if ($_SERVER['REQUEST_METHOD'] == 'POST')
      {
          vardump ($_FILES);
      }
      ?>
      </body>
      </html>
       
       
       
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, preciso de ajuda em Relação a Instalar o Jasper Reports no Eclipse, pois a opção de Eclipse Marketplace, não encontra para instalar.
       
      Já tentei de todas as formas mas não consegui, alguém conhece alguma rotina explicando este procedimento ?
       
      Grato,
       
      Cesar
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.