См. Мою скрипку: https://jsfiddle.net/85bk3cr6/1/
. Вы можете получить доступ к iframe, если он находится в том же домене, что и домен вашей родительской страницы. Если оба в том же домене вы можете просто получить доступ к документу iframe и использовать для него функцию записи.
html код:
Js код:
document.getElementById("iframe").contentWindow.document.write('\x3Cscript type="text/javascript" src="foo.js">\x3C/script>')
window.location.href = "http://stackoverflow.com";
Для локальных файлов это должно работать, если Вы знаете относительный путь: (В Вашем случае это работает.)
window.location.href = "someOtherFile.html";
Возможно, Вы могли также сделать это абсолютное использование этого: (Не протестированный.)
window.location.pathname = "/path/to/another/file.html/";
Проблемой являются меры безопасности поставщиков браузера. Google имеет некоторую хорошую информацию об этом.
Очень опасайтесь мгновенных перенаправлений JavaScript. Сценарии обнаружения Flash могут быть неправильные (*) так лучше позволять пользователю решать Flash-not сами с некоторым ручным переопределением или просто использованием содержания нейтрализации.
Запись в работы location.href, но может "повредить кнопку "Назад"" - если пользователь оттесняет, и Ваша страница insta-перенаправляет их, передают страницу снова, они вряд ли будут счастливы. location.replace ('... ') избегает этой проблемы.
(* - существует два подхода к обнаружению Flash, ни одному из них надежны. Создание экземпляра Flash и сниффинг для него порывают с программным обеспечением как FlashBlock или просто медленная загрузка, и сниффинг для плагинов непосредственно не стандартизирован и вероятно повреждаться на более неясных платформах. Собственный код Adobe по http://www.adobe.com/devnet/flashplayer/articles/future_detection_print.html заканчивает тем, что обратился к сниффингу строки UA, тьфу.)