Можно ли поместить HTML-документ в <body>другого HTML-документа? - PullRequest
0 голосов
/ 19 августа 2011

Можно ли встраивать HTML-документ в тег body другого HTML-документа? Причина, по которой я хочу сделать это, состоит в том, чтобы я мог вызвать onload тела javascript - я не могу сделать это в основном документе HTML, потому что основной код HTML динамически генерируется контроллером (Yii), который контролирует другие страницыи я не хочу его редактировать.

* Кстати, я попробовал и, кажется, сейчас работает нормально, но я просто хочу быть уверен, что страница не сломается в будущемпо любой причине.

<html>
<head>
<body>    
    <html>
    <head>
        <script type="text/javascript>
        function somefunction(){
        }
        </script>
    </head>
    <body onload="javascript:somefunction()">    
    </body>
    </html>
</body>
</html>

Ответы [ 2 ]

3 голосов
/ 19 августа 2011

Если все, что вы хотите сделать, это присоединить событие onload, вы поступите неправильно.

Все, что вам нужно сделать, это добавить элемент script, который присоединяет событие загрузки:

<script type="text/javascript">

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


  document.body.onload = somefunction;

</script>

В качестве альтернативы, если вы добавили свои файлы JS в внизу страницы, они смогут взаимодействовать с DOM аналогично тому, как работает onload. Причина использования onload заключается только в том, что элементы, определенные на веб-странице, были добавлены в DOM к моменту выполнения функции. Если ваши скрипты следуют за вашим контентом, элементы будут в DOM.

1 голос
/ 19 августа 2011

Нет, это плохой HTML.

Просто поместите свой JavaScript внизу перед </body>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...