在做的HTML解析,浏览器不解析JavaScript的,所以他们停在第一</script>
序列,他们发现 —即使是在一个字符串文字或JavaScript注释。
为了避免它,只是做任何事情打断</script>
在你的字符串,如:
<script type="text/javascript">
var randomnumber=Math.floor(Math.random()*10000);
var sr = 'http://www.example.com/example.js?rnd='+randomnumber;
document.write("<script type=\"text/javascript\" src=\"" + sr + "\" id-value-test=\"100\" > <\/script>");
<!-- Change is here -----------------------------------------------------------------------------^ -->
</script>
或
<script type="text/javascript">
var randomnumber=Math.floor(Math.random()*10000);
var sr = 'http://www.example.com/example.js?rnd='+randomnumber;
document.write("<script type=\"text/javascript\" src=\"" + sr + "\" id-value-test=\"100\" > </" + "script>");
<!-- Change is here ----------------------------------------------------------------------------^ -->
</script>
有更好的办法OS这样做 - 不过,最简单的就是使用嵌套引号替换''''和'''''document.write(“” );' – karthikr 2014-11-21 16:38:39
@karthikr:是的,但嵌套引号不是问题。 :-) – 2014-11-21 16:41:02