我在.aspx頁面的頭部添加了「test.js」文件。在test.js中我添加了一個腳本「document.body.setAttribute(」onload「,」testload()「);」document.body.setAttribute在IE-7中不起作用
這是在IE-8-9,Mozilla,Chrome和加載testLoad()函數中運行良好。
但它不工作在IE-7。
如何在IE-7中從test.js文件設置「body」的屬性。
我在.aspx頁面的頭部添加了「test.js」文件。在test.js中我添加了一個腳本「document.body.setAttribute(」onload「,」testload()「);」document.body.setAttribute在IE-7中不起作用
這是在IE-8-9,Mozilla,Chrome和加載testLoad()函數中運行良好。
但它不工作在IE-7。
如何在IE-7中從test.js文件設置「body」的屬性。
IE7不支持obj.setAttribute('onload', doSomething);
。您可以使用計時器處理IE。
var myiFrame = document.createElement("iframe");
myiFrame.setAttribute("id", "myiFrame");
myiFrame.setAttribute("src", "something.aspx");
myiFrame.setAttribute("class", "myclass");
myiFrame.setAttribute("frameBorder", "0"); //For IE
myiFrame.setAttribute("hspace", "0");
//For all:
myiFrame.setAttribute("onload", "testload();");
document.getElementById("myDiv").appendChild(myiFrame);
//For IE:
if (isIE = /*@[email protected]*/false) {
setTimeout(function() { testload() }, 500);
}
這就是它。如果您還想要加載事件監聽器,則IE需要修復:
function testload() {
//Add event listener for click so that
//resize myiFrame in case any changes occur in size of content when user clicks
var content = document.getElementById("myiFrame").contentWindow.document.body;
if (content.addEventListener) { //For all
content.addEventListener('click', function() {
//find the height of the internal page
var the_height = content.scrollHeight;
//change the height of the iframe
document.getElementById("myiFrame").height = the_height + 10;
}, false);
}
else if (content.attachEvent) { //For IE
cerceveIci.attachEvent('onclick', function() {
//find the height of the internal page
var the_height = cerceveIci.scrollHeight;
//change the height of the iframe
document.getElementById("kk-iframe").height = the_height + 10;
});
}
}
本發明的設置onload的方式。我從來沒有見過。 – mplungjan