Load javascript file only on one page

3

I'm not sure what to do, but I'm not sure what to do.

Next, I have a system inside a Gentelella template, and by default it loads several javascript files at the bottom of the page.

My code, for always repeating the beginning and end, I have a page header.php and a footer.php. In this footer has all the included libraries like this:

<!-- jQuery -->
<script src="../vendors/jquery/dist/jquery.min.js"></script>    
<!-- Bootstrap -->
<script src="../vendors/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- FastClick -->
<script src="../vendors/fastclick/lib/fastclick.js"></script>
<!-- NProgress -->
<script src="../vendors/nprogress/nprogress.js"></script>
<!-- iCheck -->
<script src="../vendors/iCheck/icheck.min.js"></script>
<!-- Datatables -->
<script src="../vendors/datatables.net/js/jquery.dataTables.js"></script>
<script src="../vendors/datatables.net-bs/js/dataTables.bootstrap.min.js"></script>
<script src="../vendors/datatables.net-buttons/js/dataTables.buttons.min.js"></script>
<script src="../vendors/datatables.net-buttons-bs/js/buttons.bootstrap.min.js"></script>
<script src="../vendors/datatables.net-buttons/js/buttons.flash.min.js"></script>
<script src="../vendors/datatables.net-buttons/js/buttons.html5.min.js"></script>
<script src="../vendors/datatables.net-buttons/js/buttons.print.js"></script>
<script src="../vendors/datatables.net-fixedheader/js/dataTables.fixedHeader.min.js"></script>
<script src="../vendors/datatables.net-keytable/js/dataTables.keyTable.min.js"></script>
<script src="../vendors/datatables.net-responsive/js/dataTables.responsive.min.js"></script>
<script src="../vendors/datatables.net-responsive-bs/js/responsive.bootstrap.js"></script>
<script src="../vendors/datatables.net-scroller/js/dataTables.scroller.min.js"></script>
<script src="../vendors/jszip/dist/jszip.min.js"></script>
<script src="../vendors/pdfmake/build/pdfmake.min.js"></script>
<script src="../vendors/pdfmake/build/vfs_fonts.js"></script>
<!-- bootstrap-daterangepicker -->
<script src="../vendors/moment/min/moment.min.js"></script>
<script src="../vendors/bootstrap-daterangepicker/daterangepicker.js"></script>
<!-- bootstrap-datetimepicker -->    
<!-- bootstrap-wysiwyg -->
<script src="../vendors/bootstrap-wysiwyg/js/bootstrap-wysiwyg.min.js"></script>
<script src="../vendors/jquery.hotkeys/jquery.hotkeys.js"></script>
<script src="../vendors/google-code-prettify/src/prettify.js"></script>
<!-- Summernote Text Editor -->
<script src="../vendors/dist/summernote.min.js"></script>

<script src="../vendors/dist/lang/summernote-pt-BR.js"></script>    
<!-- jQuery Tags Input -->
<script src="../vendors/jquery.tagsinput/src/jquery.tagsinput.js"></script>
<!-- Switchery -->
<script src="../vendors/switchery/dist/switchery.min.js"></script>
<!-- Select2 -->
<script src="../vendors/select2/dist/js/select2.full.min.js"></script>   
<!-- Autosize -->
<script src="../vendors/autosize/dist/autosize.min.js"></script>
<!-- jQuery autocomplete -->
<script src="../vendors/devbridge-autocomplete/dist/jquery.autocomplete.min.js"></script>    
<!-- starrr -->
<script src="../vendors/starrr/dist/starrr.js"></script>
<script src="../vendors/bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js"></script>
<!-- Ion.RangeSlider -->
<script src="../vendors/ion.rangeSlider/js/ion.rangeSlider.min.js"></script>
<!-- Bootstrap Colorpicker -->
<script src="../vendors/mjolnic-bootstrap-colorpicker/dist/js/bootstrap-colorpicker.min.js"></script>
<!-- jquery.inputmask -->
<script src="../vendors/jquery.inputmask/dist/min/jquery.inputmask.bundle.min.js"></script>
<!-- jQuery Knob -->
<script src="../vendors/jquery-knob/dist/jquery.knob.min.js"></script>
<!-- Carrega clientes na OS -->
<script type="text/javascript" src="js/clientes.js"></script>

Well, what happens. I'm including in the last line the file clients.js, which makes a request in the DB with a list of clients, and I use Jquery and Jquery UI. That's when the jquery-ui file gets into my footer, depending on the position, or to stop other template features, or my code. It seems to be complicating because of the autocomplete already invoked in that footer.

The "gambiarra" I thought of doing is trying to load the jquery-ui.js file only on the page where I need it. But I do not know how to do that. The "easy" solution would be to remove the header and footer from this page and put everything in the page file, but I want to avoid this, because if I change anything in the menus (which is still in development) I have to go on that page as well.

Anyway, any tip there helps me guys. A big hug and a great weekend to everyone.

    
asked by anonymous 18.08.2018 / 23:58

1 answer

3

Create a condition for your scripts to run only on a specific url.

if (window.location.href == "https://seusite.com") { //se a pagina corresponder, executar a função
   //sua função aqui 
}
    
19.08.2018 / 16:06