根据iFrame中打开的页面更改URL

时间:2015-10-30 16:38:29

标签: html iframe

我正在设计一个网站,其顶部有一个导航栏,下面有一个iFrame。我尝试做的是,用户将浏览此iFrame中的网站。导航栏将始终位于顶部。 目前,我的导航栏链接在我的iFrame中打开文档,如下所示:

<li class="nav-top-links"><a class="a-nav-top-links" href="sample1.html" target="tFrame">ITEM1</a></li>

我想知道的是:

  1. 如何根据iFrame中打开页面的链接更改浏览器中的URL?是否有任何类型的听众&#39;我可以实施?所有页面都属于同一个域。

  2. 有人愿意就更好的方法提出建议吗?

2 个答案:

答案 0 :(得分:0)

您可以在iframe和父文档之间传递消息。有关详细信息,请查看此答案:make iframe height dynamic based on content inside- JQUERY/Javascript

答案 1 :(得分:0)

您可以尝试使用pushState或Hash键导航。

pushState示例:

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

哈希键示例:

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

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

window.onhashchange = locationHashChanged;

相关主题:

Display iFrame url in address bar

Change the URL in the browser without loading the new page using JavaScript

Changing address bar when using iframe