类型disapearing脚本元素
我已经包含了脚本,lookes像类型disapearing脚本元素
<script type="text/javascript" src="//www.domain.com/script.js?<?php echo rand(10000,99999)?>">
结果明显:
<script type="text/javascript" src="//www.domain.com/script.js?55872"></script>
当我刷新页面的问题发生,类型属性将消失,结果将更改为
<script src="//www.domain.com/script.js?82554"></script>
网站存储在Incapsula,但我尝试禁用所有的功能和它的仍然是相同的。 编辑:显然,当我试图禁用它,我没有等到足够多的时间,它没有踢中
我想这可能是因为DOCTYPE声明 - ><!DOCTYPE html>
因为HTML5不需要类型声明。如果是这样,我该如何强制他保留类型属性?
我知道在HTML5文档类型中,类型属性是无用的,但是第三方公司在它们的选择器中使用它,我必须将它保留在那里。
如果这是一个真正的问题,然后把当你使用PHP呼应出一个随机数在之前的<body/>
var elms = document.getElementsByTagName('script'); // get the script tags
for(var i = 0; i < elms.length; i++) {
elms[i].setAttribute('type', 'text/javascript'); //set the type attribute
}
按照已经只是将其更改为
<script <?php echo 'type="text/javascript"'; ?> src="//www.domain.com/script.js?<?php echo rand(10000,99999)?>">
它工作吗? – Billy 2014-10-19 21:26:03
什么样的软件使用一个选择'script'的'type'属性,什么样的选择呢?你的意思是CSS选择器? – 2014-10-19 19:30:47
他们正在使用jQuery选择器来检查它们的脚本是否存在..类似于'$(“script [type * = javascript] [src * = somefile]”)'',所以如果没有type属性,他不会识别他们的脚本 – 2014-10-19 21:26:41
如果他们在脚本中检查了一个变量而不是文档本身,它会更加健壮......这就是我的标准“已加载”检查。只是因为标签在那里并不意味着它已经加载! – nepeo 2014-10-21 10:11:00