我動態地將一個JavaScript文件包含到html頁面中,該工作正常。但是當我從文件運行函數'tryData'時,變量返回爲undefined。我一直在尋找幾個小時在任何地方都找不到類似問題,有誰知道問題是什麼?Javascript函數返回未定義的變量
功能的外部文件:
function tryData(id, size){
document.getElementById('content').innerHTML = '<iframe src="http://domain.com/feeds/'+id+'/'+size+'/" id="frame"></iframe>';
if(window.data){
clearInterval(timer);
data();
}
}
我使用叫它行:
tryData(131, 'large');
我知道功能運行時,由於預期該幀插入,但沒有內容作爲框架的網址讀取「domain.com/feeds/undefined/undefined/」,而不是「domain.com/feeds/131/large/」。
預先感謝任何幫助:)
這裏是功能的HTML頁面的一個例子:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="robots" content="NOINDEX,NOFOLLOW" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<!-- Widget -->
<div id="content"></div>
<script>
(function(d, s) {
var js = d.createElement(s), ins = d.getElementsByTagName(s)[0];
js.src = "http://domain.com/feeds/insert.js";
ins.parentNode.insertBefore(js, ins);
tryData(131, 'large');
}(document, 'script'));
</script>
<!-- Widget End -->
</body>
</html>
這裏的js文件:
function data(){
var u;
u = document.URL;
$.post("http://domain.com/data.php", { u: u});
}
function tryData(id, size){
document.getElementById('lsb').innerHTML = '<iframe src="http://domain.com/feeds/'+id+'/'+size+'/" id="frame"></iframe>';
if(window.data){
clearInterval(timer);
data();
}
}
var script = document.createElement('script');
script.src = 'http://code.jquery.com/jquery-latest.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
timer = setInterval(tryData, 100);
要調用它,就像是,隨着硬編碼參數? – 2012-02-02 20:05:02
如何使用某種調試器(每個瀏覽器都有一個) – SergeS 2012-02-02 20:05:11
垃圾入=垃圾出。什麼參數被傳遞?他們來自哪裏? – 2012-02-02 20:07:33