2012-04-19 46 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的建議! 我仍然不確定爲什麼即不識別該功能,但這種解決方案很好。