Если вы междоменное, просто установив СРК обратно на тот же URL не всегда будет вызвать перезагрузка, даже если хеш местоположения изменяется.
В этой проблеме возникла проблема с ручным построением iframe кнопки Twitter, которая не обновлялась при обновлении URL-адресов.
Twitter как кнопки имеет вид: .../tweet_button.html#&_version=2&count=none&etc=...
Поскольку Twitter использует фрагмент документа для URL, изменение хэша/фрагмента не перезагружать источник, а цели кнопки не отражают мой новый Аякса загруженный контент.
Вы можете добавить параметр строки запроса для силы перегрузочного (например: "?_=" + Math.random()
но это будет тратить пропускную способность, особенно в этом примере, где подход Twitter был специально пытается включить кэширование
Чтобы обновить то, что меняется только. хэш-теги, вам нужно удалить элемент или изменить src
, дождитесь окончания потока, а затем назначьте его обратно. Если страница все еще кэширована, это не требует сетевого удара, но вызывает перезагрузку кадра.
var old = iframe.src;
iframe.src = '';
setTimeout(function() {
iframe.src = old;
}, 0);
Обновление: Использование этого подхода создает нежелательные элементы истории. Вместо этого каждый раз удаляйте и воссоздавайте элемент iframe, который удерживает эту кнопку назад(), как ожидается. Также приятно не иметь таймер.
ли IFrame документ на другом домене? – 2010-11-22 20:17:32
У вас есть доступ к коду сайта, который отображается в iFrame? – 2010-11-22 20:17:43
Показать больше кода - html для iFrames, а также код javascript, который вы используете для внесения изменений. Трудно понять, в чем проблема, видя только то, что вы включили до сих пор. – 2010-11-22 20:19:34