Кнопка перезагрузки Iframe
Я смотрел на многих веб-сайтах, но ни один из них не работает правильно или я их не понимаю. Я хотел бы простую кнопку, которая обновляет определенный iframe. Кнопка будет находиться на родительской странице, а имя iframe - "правильно".
2 ответов
есть много способов сделать это. Предполагая это iframe
разметка:
<iframe name="Right" src="http://www.example.com"></iframe>
мы можем сделать это с помощью вызов функции:
HTML-код
<button onclick="refreshIframe();">Refresh Iframe</button>
JS
function refreshIframe() {
var ifr = document.getElementsByName('Right')[0];
ifr.src = ifr.src;
}
или inline JS:
<button onclick="var ifr=document.getElementsByName('Right')[0]; ifr.src=ifr.src;">Refresh Iframe</button>
или событие слушатель!--13-->:
HTML-код
<button id="iframeRefresher">Refresh Iframe</button>
JS
window.onload = function() {
document.getElementById('iframeRefresher').addEventListener('click', function() {
var ifr = document.getElementsByName('Right')[0];
ifr.src = ifr.src;
});
}
то же, что и выше, теперь С поддержкой IE вместо анонимные:
HTML-код
<button id="iframeRefresher">Refresh Iframe</button>
JS
window.onload = function() {
var refresherButton = document.getElementById('iframeRefresher');
if (refresherButton.addEventListener)
refresherButton.addEventListener('click', refreshIframe, false);
else
refresherButton.attachEvent('click', refreshIframe);
}
function refreshIframe() {
var ifr = document.getElementsByName('Right')[0];
ifr.src = ifr.src;
}
все это, даже не касаясь jQuery или любой другой библиотеки.
который из этих Вы следует использовать? Какой вы считаете более ремонтопригодным и читаемым. Просто избегайте глобальных vars, когда это возможно. Я бы лично избегал встроенных JS с разметкой, и слушатели кажутся ненужными, но это только я. Выбирай, что тебе больше подходит.
Добавить новый id
в вашем iframe и попробуйте ниже кода.
var iframe = document.getElementById('FrameId');
$("button").click(function() {
iframe.src = iframe.src;
}):