关于 Jquery 的加载问题,只有刷新页面部分 js 才生效

2020-04-10 23:08:50 +08:00
 canadahetian

我的网站,jquery 代码,只有刷新页面,菜单栏才能生效,而且一会生效一会又不生效,太奇怪了 初次加载不生效,刷新一次页面才生效,或者需要刷新好几次页面才生效,再刷新又不一定生效了.没有规律

请前端大神指点一下. 我的网站是:www.cakevin.com 点击左边的 menu 测试

我的 base 页面 JS 代码是:

<script>get_mennus_list1("1")</script>

调用 first_load.js 页面

我的 base 页面 JS 代码引人顺序是:

<script src="{% static 'js/jquery.min.js' %}"></script> <script src="{% static 'js/first_load.js' %}"></script> <script src="{% static 'js/bootstrap.min.js' %}"></script>

详情看网站源码,先谢谢了

2054 次点击
所在节点    问与答
25 条回复
canadahetian
2020-04-11 12:28:48 +08:00
@Track13 <script src="{% static 'js/nifty.min.js' %}" defer="defer"></script> 这么用对吗?如果对的话,貌似还是不行.
@lxk11153 二楼是啥啊?看不懂啊,没用过,我还是等等其他人,一起学习下吧.
lxk11153
2020-04-11 12:31:39 +08:00
@canadahetian #21 base64 解码 233-应验了-`我做管理太多年了`-都忘光了
see https://tool.chinaz.com/tools/base64.aspx or https://www.base64decode.org/
rain0002009
2020-04-11 13:07:29 +08:00
first_load.js 里面没有初始化代码 只是生成了菜单的 dom 结构并插入文档 有调用什么方法让它变成菜单了 并没有看到
canadahetian
2020-04-11 23:13:14 +08:00
@rain0002009 <script>get_mennus_list1("1")</script>
这个就是
canadahetian
2020-04-12 04:42:14 +08:00
@rain0002009
@lxk11153
@Track13
@cydian
@learningman

感谢,终于搞定了,我把 Google news 网页里面的 js 代码,解析了一下,发现 google news 也有和我业务需求一样的逻辑代码,
所以我把 Google news 的 JS 代码,外部加载文件部分看了一遍,把我的代码调整好了,下面是代码,有和我同样问题的同学,可以参考一下.
我的问题主要是需要执行完我的 JS 内部方法,再调用外部的 JS,所以谁先加载完说不好,导致代码每次刷新完是否起作用都是未知的,所以我的思路就是找能供控制 JS 加载顺序的代码..以下是代码:

function downloadJSAtOnload() {

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

element.src = "nifty.js";

document.body.appendChild(element);

}


if (window.addEventListener)

window.addEventListener("load", downloadJSAtOnload, false);

else if (window.attachEvent)

window.attachEvent("onload", downloadJSAtOnload);

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/661329

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX