2012-04-19 39 views
3

未定义我有一个site.html网页,其中包括3个.js文件,脚本运行,以备环境和extrects另一个m.html文件出一个.xml文件的并呈现该生成米。javascript函数是仅在即

var dd=document.open("text/html","replace"); 
dd.write(htmlData); 
dd.close(); 

的site.html看起来是这样的:使用folwing代码在屏幕上的HTML文件

<html> 
    <head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <script type="text/javascript" src="file1.js"></script> 
    <script type="text/javascript" src="file2.js"></script> 
    <script type="text/javascript" src="file3.js"></script> 
    <link rel="stylesheet" type="text/css" href="file4.css"> 
    </head> 
    <body> 
    _ 
    </body> 
    </html> 

生成的m.html看起来像这样:

<html> 
<head> 
    <meta name="viewport" content="user-scalable=no"> 
    <link rel="stylesheet" type="text/css" href="file4.css"> 
    <script type="text/javascript" src="uag.js"></script> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
</head> 
<body id="homebody"> 
<img class="background" src="a.jpg"> 
<div id="homebuttons"> 
<table> 
<tr> 
<td> 
<a href="javascript:alert(typeof PL_open)"><img src="b.png"></a> 
</td> 

<td class="spacer"> 
</td> 
<td> 
<a href="javascript:PL_open('activate:a')"><img src="c.png"></a> 
</td> 
</tr> 
<tr class="spacer"> 
</tr> 
<tr> 

<td> 
<a href="javascript:PL_open('activate:b')"><img src="d.png"></a> 
</td> 
<td class="spacer"> 
</td> 
<td> 
<a href="javascript:PL_open('activate:c')"><img src="e.png"></a> 
</td> 
</tr> 
</table> 

</div> 
</body> 
</html> 

被正确地呈现,但是当我按下按钮中的一个(链接)我得到的错误消息: 对象预期:JScript的 - 窗口脚本块,第1行,炭1.

如果我按所述第一链接我在警告框中显示“未定义”文本。

的PL_open()js函数被定义file1.js并且根据测试被定义​​直到m.html被加载到屏幕。

的exect相同的代码完全在Chrome和safary。

任何人都可以指向或指导我的问题?我会很感激任何帮助!我的大脑已经融化:) 非常感谢!

编辑:

感谢您的意见!发布问题时,我错误地删除了引用,因此问题不是“缺少单引号”。

我做了一个试验,并列入m.html file1.js。在这种情况下,函数运行,但如预期的那样,它进入无限循环。所以我认为file.js和uag.js都可以。如有必要,我可以将它们发布。和关于使用Ajax ...你能解释更多吗?我想尝试一下。

+2

在生成的html中缺少单引号:'' – jbabey 2012-04-19 13:04:22

+2

尝试使用ajax代替document.open – d4rkpr1nc3 2012-04-19 13:05:59

+1

您能发布“file1.js”和“uag.js”的代码吗?也许有这个问题.... – Deleteman 2012-04-19 13:09:15

回答

1

所以我使用ajax来更改文档的正文(而不是document.open),现在它正在工作:) 谢谢d4rkpr1nc3的建议! 我仍然不确定为什么即不识别该功能,但这种解决方案很好。