我希望你们中的一些人在编码时比我更好。
我有一个简单的网页(www.mypage.com)。它有5个链接
Link 1(www.mypage.com/link1.html) Link 2(www.mypage.com/link2.html) Link 3(www.mypage.com/link3.html) Link 4(www.mypage.com/link4.html) Link 5(www.mypage.com/link5.html)
现在,从主页面点击链接,打开一个使用iframe的弹出窗口,显示他们点击的页面。
现在我要做的是,当人们通过主页点击链接并因此得到一个弹出窗口/ iframe时,在该页面上,例如(www.mypage.com/link1.html)我想隐藏一些元素。元素是连接菜单和横幅的东西。
现在,如果某人手动输入其中一个链接,例如直接在浏览器中输入www.mypage.com/link1.html,那么我希望横幅和横幅显示。
反正我能做到吗? 是否有一些javascript可以运行,如果它检测到它是一个iframe它可以做一个显示:没有我要隐藏的元素?
非常感谢提前。
答案 0 :(得分:1)
我会这样做:
在链接页面(www.mypage.com/link1.html)中,我将有一个脚本来验证网址的哈希是否具有某个值。如果是,则隐藏横幅;否则正常显示横幅。
因此,当您在iframe中打开页面时,请确保将src设置为“www.mypage.com/link1.html#banner_off”而不是简单的“www.mypage.com/link1.html".
这样,当用户在浏览器中键入链接地址(没有哈希值)时,您的广告就会显示出来。
以下是链接页面中脚本应如何显示的示例:
function manageBanners(){
if(document.location.hash == "banner_off")//hide banners
{
//code to hide banners here
var banners = document.getElementsByClassName('banner');
for(var i in banners)
banners[i].style.display = 'none';
}
//else do not alter the banners visibility
}
window.onload = manageBanners;
当然,您可以像使用sintax:url?banner = false这样的php查询一样使用,并检查网址中的参数。
希望这有帮助!
答案 1 :(得分:0)
我能想到检测页面在iFrame中的最佳方法是将页面的URL与浏览器窗口中的URL进行比较。如果它们不同,它必须在一个框架中。
if (top.location != location) {
// hide menu and banner
}