freeCodeCamp/guide/russian/javascript/html-dom-innerhtml-property/index.md

60 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: HTML Dom Innerhtml Property
localeTitle: Свойство HTML Dom Innerhtml
---
## Свойство HTML Dom Innerhtml
Внутренняя поддержка `innerHTML` возвращает содержимое HTML внутри выбранного элемента, а также позволяет вам определять новый HTML-контент.
**_СОДЕРЖАНИЕ_**
```html
<div id="demo">
<p>Demo</p>
</div>
```
```javascript
var element = document.getElementById("demo");
console.log(element.innerHTML) //logs <p>Demo</p>
```
**_СОДЕРЖАНИЕ ЭЛЕМЕНТА_**
```html
<div id="demo"></div>
```
```javascript
var element = document.getElementById("demo");
element.innerHTML = "<div>Demo</div>";
```
HTML теперь будет как
```html
<div id="demo">
<div>Demo</div>
</div>
```
**_ОБСУЖДЕНИЕ БЕЗОПАСНОСТИ_**
Значение, установленное для `innerHTML` должно поступать из надежных источников, поскольку Javascript будет помещать что-либо внутри этого элемента, и он будет запущен как простой HTML.
Пример:
Установка значения « `<script>alert();</script>` » приведет к запуску функции «alert ()» Javascript:
```javascript
var element = document.getElementById("demo");
element.innerHTML = "<script>alert();</script>";
```
Этот тип атаки называется [Cross Site Scripting, или XSS для краткости](https://en.wikipedia.org/wiki/Cross-site_scripting) .
Это один из наиболее распространенных способов совершения атаки XSS. Если вы хотите узнать немного больше и научиться защищаться от него, [ознакомьтесь с этим ресурсом](https://xss-game.appspot.com/)