类型在脚本元素上消失

时间:2014-10-19 15:57:20

标签: javascript html html5

我已经包含了看起来像那样的脚本

<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声明 - &gt; <!DOCTYPE html>因为HTML5不需要类型声明。如果是这样,我怎么强迫他保留type属性?

我知道在HTML5 doctype中,type属性是无用的,但第三方公司在其选择器中使用它,我必须将它保留在那里。

3 个答案:

答案 0 :(得分:1)

如果确实存在问题,请将以下内容放在<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
}

答案 1 :(得分:0)

当您使用php回显随机数时,只需将其更改为

<script <?php echo 'type="text/javascript"'; ?>  src="//www.domain.com/script.js?<?php    echo rand(10000,99999)?>">

答案 2 :(得分:0)

问题出在Incapsula

enter image description here

Minify static HTML正在检测HTML5 doctype时删除type属性

我刚禁用它