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

  公司的网页代码需要测试,因后端挡板工具问题只能在浏览器里进行。但是在浏览器里打开时比在客户端打开时少了一些必要的参数(放在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(){ 放这儿 })的回调里

  });

})()

猜你喜欢

转载自www.cnblogs.com/muyin/p/10693275.html