在JavaScript中,字符串不能分成多行。新行字符不是有效的字符串字符。你将不得不关闭在每行的字符串,每次持续到下一行(或每一个是前行的延续行,像这样前行后添加字符串连接符:
if (document.getElementById)
{
document.write(
'<style type="text/css" media="screen">' +
'#element1, .element2 {display:none;}'
+ '</style>');
}
这将消除错误,但它不会达到隐藏元素的预期效果。document.write
automatically calls document.open()如果HTML文档已被打开(它具有,如果脚本正在执行)document.open
将清除内容页面,包括包含该代码的脚本,您将留下一个空白页面
正如@Chris所说,您可以在outp中包含脚本标记只需通过在PHP解析上下文之外编写脚本即可。即
?>
<head>
<!-- other stuff -->
<script type="text/javascript">// type="text/javascript" is only needed for browser versions that do not support HTML5
// place code here
</script>
<!-- other stuff -->
</head>
<?php
在另一方面,如果你想包括一个单独的外部JavaScript文件,替换脚本标记的代码片段上面
<script src="[absolute or relative path to script]" type="text/javascript">
</script>
注意,脚本标签不自我关闭,所以即使此脚本标记没有内容,也不能使用自闭标记语法,如<script ... />
至于如何处理闪烁问题,这个堆栈溢出文章可能会有所帮助:
Page Transitioning - Ways to Avoid the "flicker"
字符串不能在Javascript中包含新行。 –
谢谢Sverri,事实确实如此。如果页面或这些元素已完全加载,您是否还有任何建议如何将这些元素返回? – AWA