我在基于html / php的页面中间有一个javascript函数定义,就像这样 -
<script language="javascript" type="text/javascript">
function popitup2()
{
newwindow2=window.open('','name','height=265,width=350');
var tmp = newwindow2.document;
tmp.write('<html><head><title>Coupon</title>');
tmp.write('<link rel="stylesheet" href="<?php echo get_bloginfo('wpurl'); ?>/wp-content/themes/street/coupon.css">');
tmp.write('<script src="/street/coupon.js"> </script>');
tmp.write('<script src="http://code.jquery.com/jquery-1.4.2.min.js"</script>');
... / *其他一些工作正常的代码* /
现在,当我打开它时,这个网页会出现故障。但是,如果我从javascript中删除以下2行,则错误发生并且页面显示正常。
tmp.write('<script src="/street/coupon.js"></script>');
tmp.write('<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>');
有人能说出这些行的编码有什么问题。
答案 0 :(得分:5)
浏览器将字符串中的</script>
解释为<script>
标记的结尾。
将其更改为
tmp.write('<' + 'script src="/street/coupon.js"></' + 'script>');
答案 1 :(得分:1)
在你的最后一行你有
tmp.write('<script src="http://code.jquery.com/jquery-1.4.2.min.js"</script>');
缺少关闭直角括号。它应该是:
tmp.write('<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>');
现在,当您再次给出该行以显示您删除的内容时,它会被正确呈现,所以我不确定这是否真的是问题,或者您刚刚第一次输入错字。值得一试。