2012-08-10 34 views
0

我正在使用从bookmarklet调用的一个iframe,它调用一个html页面,该页面显示有关他们正在查看的页面的用户详细信息。要关闭的iframe我使用:iframe breakout是双后退按钮

<a href="<? echo $original_page_url; ?>" target="_parent">X Close Window</a> 

这将关闭iframe和离开他们在同一个页面上的用户。然而,对于浏览器而言,这是理想的,他们必须两次按下后退按钮以回到他们之前的位置,例如,一些搜索结果,因为它们必须连续两次到当前页面。一旦最初,然后再次关闭iframe。

有没有更好的方法来做到这一点,可以避免这种情况?

这是书签代码产卵的iframe:

javascript:(function%20(d)%20{var%20modal%20=%20document.createElement('iframe'); 
modal.setAttribute('src',%20'http://blah.com/info.html?url='+encodeURIComponent(window.location.href)+'&page_title='+document.title); 
modal.setAttribute('scrolling',%20'no');modal.className%20=%20'modal'; 
document.body.appendChild(modal);var%20c%20=%20document.createElement('link'); 
c.type%20=%20'text/css';c.rel%20=%20'stylesheet'; 
c.href%20=%20'//blah.com/css/iframe.css'; 
document.body.appendChild(c);}(document)); 

回答

0

使用此JavaScript代码:

document.getElementById('iframeId').style.display='none'; 

而且,你可以关闭的iframe这里面的iframe:

parent.document.getElementById('iframeId').style.display='none'; 

这将从父级获取iframe对象,并将其可见性设置为隐藏。

+0

谢谢你,但我不设置的iframe的ID(或者是在的createElement?),这是一种新的我居然,尽可能快地学习 - 修正了这个问题......有没有一种方法来设置ID(如果不是这样),然后添加你的建议?我尝试过:X Close Window但不起作用 – 2012-08-10 22:52:03

0

尝试window.location.replace

也许这样

<a onclick="window.location.replace('<? echo $original_page_url; ?>')">X Close Window</a> 
+0

这只是将原始网址与iframe中的内容互换,并将网页留在那里 - 并不好。 – 2012-08-11 07:17:44