首先,感谢大神你进来帮我,我的描述文字有点长,但事实上很简单,也有抛砖引玉的意思。都说慎用iframe,原因是蜘蛛不抓取iframe里面的内容,但我是参考了猫扑大杂烩之后,作了比较周全考虑的。
我有一个论坛,论坛列表显示全部帖子,开窗(即B页面)阅读。
但为了突出某几个主题,单独做成专题的形式,各专题下有多个主题帖子。
为了提升用户体验,实现同一窗口阅读,所以在A页面(即专题页)调用B页面(即帖子阅读页)。调用是成功了,但问题是B页面和A页面的页面布局几乎相同,即相同的导航、相同的主体部分宽度、相同的页脚,现在要在A页面中对B页面的布局进行重新控制,即去掉导航、页脚等不需要的地方,只保留帖子显示即可。
我使用了JS的onload事件,是可以控制B页面的样式,但最不能忍受的是必须B加载完才执行onload事件,也就是说,B加载的过程用户看得清清楚楚,即看着B全部加载完,然后又看着页头和页脚消失,这样的用户体验是绝不能出现的。我想,有没有什么方法可以判断B被A调用了,如果有方法可以判断,那么我可以在B中写代码来控制,比方说设置导航和页脚的DIV为runat=server,如果判断是被A调用,那么隐藏Visible=false即可。现在就是想请教,如何能够判断B被A调用?
如果没有方法可以判断B是否被A调用,那么请问有没有方法在A中实现对B的样式控制(当然是加载前进行控制,而不是上面提到的onload加载完后再改变)。非常感谢大侠能耐心听完我的描述,能否帮上就看我的造化了,呵呵。
解决方案 »
- sql多表联合查询问题?
- Asp.Net中怎样实现文件的上传和下载
- 属性窗口中的某个属性的值可以通过下拉列表中选取, 是怎么实现的?
- Datagridview的DataGridViewComboBoxColumn列,焦点问题
- 关于C#语法的一个问题
- 服务器如何建立邮件系统?
- 邮件附件还原问题,请各位大大帮忙...
- 在一个循环里,如 for (i=1;i<1000;i++),由于执行的时间比较长,从而导致界面不动,信息也显示不出来,改怎么办?
- 怎么退出线程?
- 新建项目时出错,高分求救。
- vs 2010中 c#怎么把按键和按键函数还有designer里面的代码一并删除呀
- datagridview 同步更新数据库的问题
http://www.abc.com/site1/open_b_page.aspx?id=32423432&flag=1
那么B页面从服务器端就可以判断这个flag参数,当它是1或者根本没有这个参数时,根本不在html中有多余的东西存在。
<a href="http://www.123.com/abc/123.aspx?flag=1" target="iframe">尼玛,此帖必火</a>
用户正常点击的话,肯定会在框架中打开。但假如用户不是正常点击,而是鼠标按住帖子标题拉动的话,必将在新窗口打开帖子,显示出来的帖子就惨不忍睹了,哈哈。
当然多数人会正常点击,但我在浏览一些不新开窗口的帖子时,就经常这么干。不知除了传递参数这种办法,还没有别的好办法?