之前有寫過一個自動產生隱藏iframe的方法,不過好像沒有讓它支援所有瀏覽器,在IE系列好像因為安全性問題,並不會建立成功,所以把原本使用createElement來建立iframe,而改成在ie裡使用
var frame = document.createElement("<iframe name=\"_hiddenframe\">");
因為在IE裡create IFrame時,並不能指定他的name屬性,不過很有趣的一件事,在IE9時,這規則又被打破了,如果強行使用上面方法會出現以下錯誤:
DOM Exception:INVALID_CHARACTER_ERR(5)

此方法需要使用到jQuery,主要來用判斷Browser是何種及其版本:
function createIFrame() {
try
{
if (!document.getElementById("_hiddenframe")) {
if($.browser.msie && parseInt($.browser.version,10) < 9)
{
var frame = document.createElement("<iframe name=\"_hiddenframe\">");
}
else
{
var frame = document.createElement("iframe");
}
frame.setAttribute("name", "_hiddenframe1");
frame.setAttribute("src", "about:blank");
frame.setAttribute("frameborder", "0");
frame.setAttribute("height", "0");
frame.setAttribute("width", "0");
frame.setAttribute("id", "_hiddenframe");
frame.name = "_hiddenframe";
document.body.appendChild(frame);
window.frames._hiddenframe.name = "_hiddenframe";
document.getElementsByTagName("body")[0].appendChild(frame);
//alert(123);
}
}catch(e){
alert(e);
}
//alert(222);
}