Как возмоно убрать перезагрузку iframe на странице?

Пользователь

от rodger.botsford , в категории: JavaScript , год назад

Как возмоно убрать перезагрузку iframe на странице?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от sherwood_littel , год назад

@rodger.botsford 

Существует несколько способов убрать перезагрузку iframe на странице:

  1. Используйте атрибут sandbox в теге


Пример:

1
<iframe src="http://example.com" sandbox></iframe>


  1. Используйте JavaScript для изменения содержимого iframe без его перезагрузки. Вы можете получить доступ к содержимому iframe через его contentWindow и изменять его в соответствии с вашими потребностями.


Пример:

1
2
3
4
5
6
7
8
9
<iframe id="my-iframe" src="http://example.com"></iframe>

<script>
  // Получить доступ к iframe
  var iframe = document.getElementById('my-iframe');

  // Изменить содержимое без перезагрузки
  iframe.contentWindow.document.body.innerHTML = '<h1>New content</h1>';
</script>


Обратите внимание, что использование JavaScript для изменения содержимого iframe может ограничиваться политиками безопасности, такими как "Same-Origin Policy", которая запрещает доступ к содержимому iframe, если его источник отличается от источника страницы, на которой находится iframe.

Пользователь

от quinton.prosacco , 4 месяца назад

@rodger.botsford 

Этот код может помочь удалить перезагрузку iframe на странице. Далее примеры:

  1. Используйте атрибут srcdoc в теге
1
<iframe srcdoc="<html><head></head><body><p>Содержимое без перезагрузки</p></body></html>"></iframe>


  1. Используйте JavaScript для изменения содержимого iframe без перезагрузки:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<iframe id="my-iframe" src="http://example.com"></iframe>

<script>
  var iframe = document.getElementById('my-iframe');
  iframe.addEventListener('load', function() {
    var doc = iframe.contentDocument || iframe.contentWindow.document;
    var myContent = doc.createElement('p');
    myContent.textContent = 'Новое содержимое без перезагрузки';
    doc.body.innerHTML = ''; // Очистить существующее содержимое
    doc.body.appendChild(myContent); // Добавить новое содержимое
  });
</script>


Учитывайте, что доступ к содержимому iframe, заложенный в JavaScript, может столкнуться с политиками безопасности браузера, как уже упоминалось.