document.body.setAttribute 在 IE-7 中不起作用

发布于 2024-12-05 10:41:33 字数 251 浏览 0 评论 0原文

我在 .aspx 页面(在 head 部分)中添加了“test.js”文件。

在 test.js 中,我添加了一个脚本“document.body.setAttribute("onload", "testload()");”

它在 IE-8-9、Mozilla、Chrome 和加载 testLoad() 函数中运行良好。

但它在 IE-7 中不起作用。

如何在 IE-7 中从 test.js 文件设置“body”的属性。

I have added "test.js" file in my .aspx page (in head section) .

In test.js i added a script "document.body.setAttribute("onload", "testload()");"

which is working well in IE-8-9 ,Mozilla ,Chrome and loading testLoad() function .

But it is not working in IE-7 .

How can i set attribute of "body" from test.js file in IE-7.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

深海不蓝 2024-12-12 10:41:33

为什么不呢

window.onload = testload;

window.onload = function()
{
    //Some codes
}

请注意,body.onloadwindow.onload 是不同的。如果您想在加载所有资源后执行事件处理程序,请使用window.onload

Why not

window.onload = testload;

or

window.onload = function()
{
    //Some codes
}

Note that body.onload and window.onload are different. If you want to execute your event handler after all resources have been loaded, use window.onload.

暮年 2024-12-12 10:41:33

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 = /*@cc_on!@*/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;
        });
    }
}

IE7 doesn't support obj.setAttribute('onload', doSomething);. You can handle IE with timer.

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 = /*@cc_on!@*/false) {
    setTimeout(function () { testload() }, 500);
}

That is it. If you also want to attach event listener on load, again IE needs its fix:

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;
        });
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文