破解了javascript

时间:2010-09-21 16:22:52

标签: javascript

我在基于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>');

有人能说出这些行的编码有什么问题。

2 个答案:

答案 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>');

现在,当您再次给出该行以显示您删除的内容时,它会被正确呈现,所以我不确定这是否真的是问题,或者您刚刚第一次输入错字。值得一试。