angular js 根据条件决定是否引入script标签

工作中遇到了一个小问题,要根据接口的值来决定是否引入js文件,有3个想法

1 控制script标签显示隐藏。根据接口传来的值,来决定元素显示隐藏,从而决定是否引入js,但是尽管ng-show 已经为false,但依然引入了,所以并没起作用。

至于原因,我猜测可能是因为虽然script标签显示隐藏了,但只是界面效果,元素依然存在。

2 鉴于第一条路走不通,我在想控制ng-if是否好用,然而也不如理想,浏览器报错。

3 那只好用原生js来做,给script标签加class或id,通过接口的值来选择元素即document.querySelector(' ),最后决定是否给该script标签加src,此la方法好用。

可以看出,用angular js 是很简单,但有时效果并不好实现,只能换用原生js了。

但到后来要做中英翻译,需要根据条件判断是否要引入js的同时,还要根据中英文加载不同的js.我就想到了动态创建script 标签,加不同src。

显然,对于强大的谷歌没问题,但是后来我就发现对IE来说,尽管控制台显示显示加上了script标签,加了src,但html里死活没有,我一直纠结于IE的机制,一直尝试,没办法的情况下只好求助大神。

大神终究是大神,完美。换条路走,将中英文判断写在了引入的js中,这样就不用动态创建script标签,直接在项目中引入就好了。这个问题被很好的避免了。

当然这个问题终归就不是来根据接口值来判断引入js的问题了,当然这也是个过程,毕竟前期给的src 还是一个js文件地址,我们也不好改人家的内容,最后干脆我们将代码复制拿到了本地,这个在js中改就好了。所以总结就是以后最好别动态创建script,对IE这种浏览器来说,可能有多种因素会影响,做判断最好还是在js中进行。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值