2014-05-09 2 views
3

Возможно ли включить URL-адрес содержимого iframe в адресную строку URL-адреса?Показать адрес iFrame в адресной строке

Например, у меня есть домен sub.test.com который имеет IFRAME с СРК в realpage.com

Серфинг через страницу логически не изменяет ничего в адресной строке, так как мы открываем realpage в IFRAME на другом домене.

Я знаю, что невозможно ввести весь URL-адрес в адресную строку, но как насчет без имени хоста?

Например, если я открываю сайт realpage.com/first.php в iframe, я хочу, чтобы адрес в адресной строке, чтобы изменить sub.test.com/first.php или sub.test.com/first

+0

Заканчивать по следующей ссылке для получения дополнительной информации: HTTP: // stackoverflow.com/questions/136458/change-the-url-in-the-browser-without-loading-the-new-page-using-javascript. – adamj

ответ

3

У вас есть два варианта здесь вы можете либо использовать pushState (more info), или вы можете использовать хэш-ключ навигации (more info), если вы хотите, чтобы сделать его совместимым с браузерами, которые еще не имеют pushState доступны.

PushState пример:

var stateObj = { foo: "bar" }; 
history.pushState(stateObj, "page 2", "bar.html"); 

Hash Key Пример:

if ("onhashchange" in window) { 
    alert("The browser supports the hashchange event!"); 
} 

function locationHashChanged() { 
    if (location.hash === "#somecoolfeature") { 
    somecoolfeature(); 
    } 
} 

window.onhashchange = locationHashChanged; 

Для получения дополнительной информации здесь еще одна ссылка: Change the URL in the browser without loading the new page using JavaScript

1

Верхний кадр уровня может изменить адрес (хотя и не в происхождении части) с the history api, см. pushState в частности.

Чтобы сделать это в ответ на навигацию в кадре, так как он находится по всему полю, вам нужно будет использовать postMessage для отправки URL-адреса, который вы хотите изменить.