Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript的正确语法;src";宣言_Javascript - Fatal编程技术网

javascript的正确语法;src";宣言

javascript的正确语法;src";宣言,javascript,Javascript,正在尝试将math.random()方法添加到嵌入的js声明中,以防止链接的javascript文件被缓存 问题是我不断地遇到语法错误。我想我已经很接近了,但是我的调试工作证明是徒劳的。代码如下: <script type="text/javascript"> document.write("<script src='links7.js?'+Math.random()+></script>"); </script> 文件。填写(“”); 有什

正在尝试将math.random()方法添加到嵌入的js声明中,以防止链接的javascript文件被缓存

问题是我不断地遇到语法错误。我想我已经很接近了,但是我的调试工作证明是徒劳的。代码如下:

<script type="text/javascript">
document.write("<script src='links7.js?'+Math.random()+></script>");
</script>

文件。填写(“”);
有什么建议吗?

问题1 转义/编码 当HTML解析器找到
时,它将开始解析内容,直到找到
,该内容出现在:

document.write("<script src='links7.js?'+Math.random()+></script>
但老实说,这么做很快就会让人讨厌

转义内联Java脚本中所有字符内容的更好方法是使用
CDATA
(字符数据)元素:

我推荐第二种形式,使用多行注释,这样,如果出于任何原因错误地解析出空白,代码就不会有任何问题(我见过一些内容管理系统在富文本编辑器中删除换行符)

关于
CDATA
,还有一个警告,
CDATA
元素,就像
script
元素一样,在结束标记(
]]>
的第一个符号处停止包装其内容,因此要小心避免编写类似以下内容的内容:

lorem = ipsum[dolor[sit]]>amet;
因为它会杀死您的
CDATA
元素

为了避免所有这些问题,尽可能将Java脚本保存在外部
.js
文件中

我理解,对于简单的一行程序,最好避免使用外部文件,在这种情况下,您应该使用
元素,甚至HTML转义JavaScript

问题2 引用 提供给
文档的字符串。编写

document.write("<script src='links7.js?'+Math.random()+></script>");
您可能会注意到,我将
的用法进行了交换。我通常喜欢在HTML属性中使用
,并且讨厌转义
\”
文本,因此我在JS中尽可能多地使用
来表示字符串文本


此外,您应该注意
src
属性的开始和结束引号。DOM可能能够很好地猜测属性结束的时间和地点,但不要推送它,以防它在代码中造成一些破坏。

您遇到了关于开始/结束引号的问题。请尝试:

document.write("<script src='links7.js?" + Math.random() + "'></script>");
document.write(“”);

文件。填写(“”);
建议:使用带有代码突出显示的IDE。

一步一步:
从您希望代码的外观开始:

<script src="links7.js?89736459827345"></script>
以及它周围的脚本标记:

<script type="text/javascript">
document.write('<script src="links7.js?' + Math.random() + '"></scr' + 'ipt>');
</script>

文件。写(“”);

啊,我一直想知道为什么每个人都用两部分字符串作为
标记。但我不需要将其包装在脚本标记中吗?文档。编写(“另外,你的代码的另一个问题是,你在使用“代码>文档”建立的字符串中得到了一些错误的引用。写“< /代码>”。确保你使用一个有语法高亮显示的好文本编辑器,这样你就可以看到当你正确地逃离了一个字符串,而当你还没有的时候。我想它一定是这样的,因为我得到了PAR。se错误和其他建议。这太棒了。避免了解析和语法错误。感谢您提供的信息。非常感谢。
document.write("<script src='links7.js?'+Math.random()+></script>");
'<script src="links7.js?' + Math.random() + '"></script>'
document.write("<script src='links7.js?" + Math.random() + "'></script>");
<script type="text/javascript">
document.write("<script src='links7.js?" + Math.random() + "'></script>");
</script>
<script src="links7.js?89736459827345"></script>
'<script src="links7.js?89736459827345"></script>'
'<script src="links7.js?' + '89736459827345' + '"></script>'
'<script src="links7.js?' + Math.random() + '"></script>'
'<script src="links7.js?' + Math.random() + '"></scr' + 'ipt>'
document.write('<script src="links7.js?' + Math.random() + '"></scr' + 'ipt>');
<script type="text/javascript">
document.write('<script src="links7.js?' + Math.random() + '"></scr' + 'ipt>');
</script>