自己的函数记得放在回调里边

2019-04-12 09:27:50来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

  公司的网页代码需要测试,因后端挡板工具问题只能在浏览器里进行。但是在浏览器里打开时比在客户端打开时少了一些必要的参数(放在PJF里)。需要在初始化时放进去。不可能把所有页面改一下吧。最后我发现所有页面都加载了sealUtils.js工具函数。于是我写了一个自执行函数在放在sealUtils.js前。在其中加载另外的js文件来将参数放入PJF。这样页面js初始化时就不会报错了。

  遇到的困难是让其在页面加载好后在其他所有的函数执行前第一个执行。没办法只能使用jquery的$(document).ready(function(){ ... })。我把加载函数loadScript函数直接放在read里导致出错。样式:$(document).ready(loadScript("url")); 因为这相当于直接调用loadScript()而不是等页面dom准备好后再加载。此时有document还没有body。document.body.appendChild(script)当然出错了。最后改成$(document).ready( function(){ loadScript("url")} ),将自己的函数放在jquery的回调函数里就可以了。

(function(){

  var loadScript = function(url){

    var script = document.createElement("script");

    script.type = "text/javascript";

    script.src = url;

    document.body.appendChild(script);

  }

  $(document).ready(function(){  

    loadScript("/a/script/info.js");   // 记得放在$(function(){ 放这儿 })的回调里

  });

})()


原文链接:https://www.cnblogs.com/muyin/p/10693275.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:实现一个div的拖拽效果

下一篇:一文理解JS的节流、防抖及使用场景