js加载html的head偶尔失效,【Web前端问题】外部 js 文件偶尔会加载失败

最近有一个很奇怪的问题一直困扰着我:

html 页面中,head部分引入了几个外部js文件。

比如:

// 目前页面结构就是这样,其他的代码都和此异常无关,就不多贴了。

// 这里就直接报错,显示 Vue 未定义

var vm = new Vue({

el: "#mDiv"

});

项目大致结构就是这样。

看起来没什么问题呀,

但是偶尔会出现一种非常奇怪的问题:

44ad2d74f5d682e8d8192a68ba03d772.png

看起来是页面渲染异常导致 vue 或者 axios 的 appendChild 产生了异常,以至于 vue 未定义。

另一个页面里,我有用到 jQuery,也会偶尔出现这种问题,提示 appendChild 异常,然后紧接着会提示 $ 未定义。

这种问题大概你长时间未打开该页面,第二天或者更久时间后,你首次打开该页面就会出现这个问题,此时,只要刷新一下页面即可恢复正常。

听起来有点像页面某天首次打开时,被运营商注入了,然后页面就出问题了。

希望各位大佬解答。

190817更

到axios源码中,搜了一下,根本没有 appendChild 代码。直觉告诉我,页面被注入了。

回答:

问题已解决,自结

此经历已整理成一篇小笔记。

请见:记一次 JS 偶发性加载失败的经历

回答:

可能跟绝对路径有关,试试脚本相对地址,或者直接将脚本放在与html同级目录测试下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值