2010-09-21 71 views
0

我在我的HTML /基于PHP的页面中间的某个位置定义像这样的javascript函数-破碎的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中删除了以下两行,则错误消失,页面显示正常。

tmp.write('<script src="/street/coupon.js"></script>'); 
tmp.write('<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>'); 

有人可以告诉这些行的编码有什么问题。

+0

ayush你可以检查,如果你只是删除第一行包含coupoun.js会发生什么...... – 2010-09-21 16:26:27

+0

@sushil:仍然broken.Only当两条线被删除错误去。 – Ayush 2010-09-21 16:28:24

回答

5

浏览器正在将字符串中的</script>解释为<script>标记的结尾。

将其更改为

tmp.write('<' + 'script src="/street/coupon.js"></' + 'script>'); 
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>'); 

现在,当你给行再次展现你删除的内容,它正确地呈现,所以我不知道这是否是真正的问题,或者你只是做了一个错字第一次。值得一试。