我最近从事一个项目,该项目需要我从 .js 文件中读取 javascript 代码并将其嵌入 HTML 代码的脚本标签中。我认为这是一项微不足道的任务,直到我了解到某些在 .js 文件中不会导致问题的序列,如果嵌入在 HTML 文件的脚本标签中,可能会导致不需要的功能。
例如,如果具有有效 javascript 代码的 .js 文件包含以下序列:
/*
...comments...
Add the following to your HTML:
<script language="javascript" src="samplejs.js"></script>
...comments...
*/
...然后这些序列,当嵌入 HTML 文件的脚本标签中时,会在解释器命中该行时引起问题
"<script language="javascript" src="samplejs.js"></script>"
(至少在 Firefox 中是这样。)
由于正则表达式...
"\<script.*\>.*\</script\>"
...将捕获脚本标签,即使它们作为字符串文字的一部分出现。IE:
document.write('<div><script>doSomething()</script></div>')
...解决问题的方法是更强大的正则表达式(类似于
"/\*.*\<.*\>.*\</.*\>.*\*/"
...),还是不同的方法?
(假设删除所有评论不是一种选择)