我有一个外部的javascript文件,我希望在包含时,在网页的末尾写一些HTML。
这样做虽然我在使用Missing } in XML expression
的行上收到错误dropdownhtml
。
这是我的代码
var dropdownhtml = '<div id="dropdown"></div>';
$(document).ready(function(){
//$(document).append(dropdownhtml);
alert(dropdownhtml);
});
包含此文件的XHTML网页如下所示:
<script type="text/javascript" src="/web/resources/js/dropdownmenu.js"></script>
执行追加或警告会引发相同的错误,出现了什么问题?
答案 0 :(得分:6)
我收到此错误是因为我在现有JavaScript中调用了外部JavaScript,因此最终得到了:
<script type="text/javascript">
<script type="text/javascript">
code
</script>
code
</script>
答案 1 :(得分:4)
修改您的更新会稍微改变一下这个问题。 : - )
引用的Javascript或包含它的脚本标记没有任何问题,问题必须在页面的其他位置。
旧答案:
如果您在XML文档中包含Javascript,必须将其包装在CDATA
部分中,否则您将遇到这样的麻烦,因为XML解析器既不知道也不关心你的Javascript引用,而是看似标记(你的<div>
在字符串中。)
E.g:
<foo>
<bar><![CDATA[
var dropdownhtml = '<div id="dropdown"></div>';
$(document).ready(function(){
//$(document).append(dropdownhtml);
alert(dropdownhtml);
});
]]></bar>
</foo>
当然,您需要确保]]>
序列永远不会出现在您的脚本的字符串(或注释等)中,但这很容易做到(例如:"Be sure to interrupt the end sequence with a harmless backslash like this: ]]\>; that escape just resolves to > anyway."
)
答案 2 :(得分:1)
代码示例末尾肯定缺少);
。尽管如此,不要到达可能缺失的地方。
答案 3 :(得分:1)
我的页面上有空脚本
<script src=""></script>
这导致了这样的错误