把字符串加在一起並不像你想象的那麼容易。你在這裏遇到各種各樣的問題。
var urlname ='/a/b.php?company_name='+company_name+'& series ='+ series;
如果company_name和series可以有不能在URL參數中使用的字符,如空格或加號或百分數或符號或Unicode,則會中斷。他們需要編碼。
的innerHTML =」 < IFRAME HEIGHT = 「600px的」 WIDTH = 「100%」 NORESIZE = 「NORESIZE」
不能使用 '在HTML PX' 單位,這是CSS。 noresize不需要,無論如何你都不能調整iframe的大小。
SRC = 「 '+ URLNAME +'」
如果URLNAME包含 「<或&你可能有麻煩。需要進行HTML編碼。
NAME =」 AOL 「FRAMEBORDER =」0「ALIGN =」ABSBOTTOM「scrolling =」no「id =」a1「name =」a1「
您有兩個名字嗎?可以嘗試使用window.frames數組或getElementsByName。
的onload = 「使用Javascript:高度( 'A1')」>
'需要反斜槓逃逸,因爲你使用的是在你的innerHTML =字符串分隔符' ...」分配。
不要用'javascript:'開始事件處理程序,只有在href中才有意義(甚至不應使用javascript:URL)。
如果你讓你的heights()函數採用一個對象而不是id字符串,你可以取消所有這些名稱。使用DOM方法可以避免考慮HTML轉義。例如:
function heights() {
alert(this.offsetHeight); // 'this' is the object the event was called on
}
var iframe= document.createElement('iframe');
iframe.frameBorder=iframe.scrolling= 'no';
iframe.style.height= '600px';
iframe.style.width= '100%';
iframe.onload= heights;
iframe.src= '/a/b.php?company_name='+encodeURIComponent(company_name)+'&series='+encodeURIComponent(series);
document.getElementById('frame2').appendChild(iframe);
您使用Firefox/Firebug進行調試嗎?如果直接導航到iframe src中使用的網址,會發生什麼情況?函數是否運行? – Antony 2009-09-07 12:29:21
查看函數heights()用於自動調整我的iframe的高度。這應該自動設置它沒有做的高度。這就是爲什麼im卡住了。 – developer 2009-09-07 12:31:14
「Javascript:」在onload等事件處理程序屬性中沒有用處。您已將它與元素的href屬性中的「javascript:」僞協議混淆。 – 2009-09-07 13:18:27