У меня есть веб-страница с IFrame и Button, как только кнопка нажата. Мне нужно, чтобы IFrame обновлялся. Возможно ли это, если да, то как? Я искал и не мог найти ответы.
Как обновить IFrame с помощью Javascript?
Ответ 1
var iframe = document.getElementById('youriframe');
iframe.src = iframe.src;
Ответ 2
Это должно помочь:
document.getElementById('FrameID').contentWindow.location.reload(true);
EDIT: Исправлено имя объекта в соответствии с комментарием @Joro.
Ответ 3
если iframe загружен из того же домена, вы можете сделать это, что имеет смысл:
iframe.contentWindow.location.reload();
Ответ 4
Работает для IE, Mozzila, Chrome
document.getElementById('YOUR IFRAME').contentDocument.location.reload(true);
Ответ 5
Получите это от здесь
var f = document.getElementById('iframe1');
f.src = f.src;
Ответ 6
Вот фрагмент HTML:
<td><iframe name="idFrame" id="idFrame" src="chat.txt" width="468" height="300"></iframe></td>
И мой код Javascript:
window.onload = function(){
setInterval(function(){
parent.frames['idFrame'].location.href = "chat.txt";
},1000);}
Ответ 7
Вы можете использовать этот простой метод
function reloadFrame(iFrame) {
iFrame.parentNode.replaceChild(iFrame.cloneNode(), iFrame);
}
Ответ 8
Если на странице есть несколько iFrames, то этот script может быть полезен. Я предполагаю, что в источнике iFrame существует определенное значение, которое может быть использовано для поиска конкретного iFrame.
var iframes = document.getElementsByTagName('iframe');
var yourIframe = null
for(var i=0; i < iframes.length ;i++){
var source = iframes[i].attributes.src.nodeValue;
if(source.indexOf('/yourSorce') > -1){
yourIframe = iframes[i];
}
}
var iSource = yourIframe.attributes.src.nodeValue;
yourIframe.src = iSource;
Замените "/yourSource" на нужное значение.
Ответ 9
Если ваш URL-адрес iframe не изменяется, вы можете просто восстановить его.
Если ваш iframe не имеет то же происхождение (схема протокола, имя хоста и порт), вы не сможете узнать текущий URL-адрес в iframe, поэтому вам понадобится script в документе iframe для обмена сообщениями с его родительским окном (окно страницы).
В документе iframe:
window.addEventListener('change', function(e) {
if (e.data === 'Please reload yourself') {
var skipCache = true; // true === Shift+F5
window.location.reload(skipCache);
}
}
На вашей странице:
var iframe = document.getElementById('my-iframe');
var targetOrigin = iframe.src; // Use '*' if you don't care
iframe.postMessage('Please reload yourself', targetOrigin);
Ответ 10
Сброс атрибута src напрямую:
iframe.src = iframe.src;
Сброс src с отметкой времени для разбиения кеша:
iframe.src = iframe.src.split("?")[0] + "?_=" + new Date().getTime();
Удаление параметра src, когда строка запроса недоступна (URI данных):
var wasSrc = iframe.src
iframe.onload = function() {
iframe.onload = undefined;
iframe.src = wasSrc;
}
Ответ 11
2017
Если он в одном домене просто:
iframe.contentWindow.location.reload();
будет работать.
Ответ 12
Вы можете использовать это:
Js:
function refreshFrame(){
$('#myFrame').attr('src', "http://blablab.com?v=");
}
Html:
`<iframe id="myFrame" src=""></iframe>`
JS Fiddle: https://jsfiddle.net/wpb20vzx/