在最近的项目中,我根据网页的需求,而因为我用了vue.js框架,所以用到<template><javascript><style>这样的结构,不仅直接在javascript中直接编写了js代码,还通过import引入了其他的js文件,这js文件一部分是通过原生js写的,一部分又是通过jquery写的,很不规范,但是我想,这样直接引入也是可以达到预期效果,那么解决这次的问题,下一次就要注意了。


但是在测试中,我就发现了一系列的问题,比如import引入的谷歌地图js文件请求的时间较长,但仍需要在其加载完成之后,才会去执行视频的js文件,这样导致地图加载完成之前,都无法对视频的某些功能进行操作;刚巧,视频和地图都是采用的原生js写的,而且习惯的,都用了window.onload;而一般的jquery文件,则习惯使用了$(function(){});而直接写在vue 页面里面的javascript部分中,则用了ready();



经过测试,直接写在vue 页面里面的javascript部分中的js代码会首先执行,姑且如css一样,称呼其为内联吧;

以下内容转自 http://www.jb51.net/article/21628.htm ;作者mdxy-dxy


  $(document).ready(function(){})等于$(function(){});

  window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。 
  $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。

  window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个 ;
  $(document).ready()可以同时编写多个,并且都可以得到执行 ;



$(window).load(function(){...})和body.onload()它们都需要等到页面的所有内容

加载完毕才执行,但是如果当网速比较慢的时候,加载一个页面往往需要较长的时间(几秒到十几秒不等,甚至更长...),所以我们经常

会遇到页面还没有完全加载完毕而用户已经在操作页面了这种情况,这样页面表现出来的效果就跟我们预期的效果不一样了,

所以在这里我推荐使用$(document).ready(function(){}),或简写为$(function(){}),因为他会在页面的dom元素加载完毕后就执行,

而无需等到图片或其他媒体下载完毕.



Logo

前往低代码交流专区

更多推荐