开发者

Is it okay to put an HTML document inside the <body> of another HTML document?

Is it "okay" to have an HTML document embedded inside the body tag of another HTML document?

The reason why I want to do this is so that I can call a javascript body onload -- I cannot do that in the main HTML document because the main HTML code is dynamically generated by a controller (Yii) that controls other pages and I do not want to edit it.

*By the way, I tried it and it seems to work fine now, but I just want to be sure that the page will not break in the future for whatever reason.

<html>
<head>
<body>    
    <html>
    <head>
        <script type="text/j开发者_StackOverflow社区avascript>
        function somefunction(){
        }
        </script>
    </head>
    <body onload="javascript:somefunction()">    
    </body>
    </html>
</body>
</html>


If all you want to do is attach an onload event, you're going about it the wrong way.

All you have to do is add a script element that attaches an onload event:

<script type="text/javascript">

  function somefunction()
  {
    ...do stuff...
  }


  document.body.onload = somefunction;

</script>

Alternatively, if you've appended your JS files at the bottom of the page, they will be able to interact with the DOM similarly to how onload works. The reason to use onload is only so that the elements defined within the web page have been added to the DOM by the time a function is executed. If your scripts are after your content, the elements will be in the DOM.


No, that's bad HTML.

Just put your JavaScript at the bottom before </body>.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜