看到网上有这样描述的:

  现在A页面内分为上下两个部分,上部分是top,下部分分左右,左是treeview右边是iframe,iframe内嵌一个B页面,B页面的内容实质上是个月刊,可以理解为杂志,里面有很多转向到其他页面的连接,问题来了。
如果现在我浏览A页面很长,浏览器滚动条在中间,当我点击B页面的某个连接时,iframe内的页面变了,但是A页面整体无变化,这时滚动条还是在中间的部位,造成的为题就是我看到的iframe里面的内容不是文章的头部,而有可能是直接看到中间部位甚至是尾部(因为我的iframe自适应高度,当文章高度低于iframe高度时他是会收缩的自然的浏览器也就在文章最底部了)。

  ①首先页面的首页是这样的:

  ②然后点击左下部分的“more”按钮,应该展示这样的页面效果,如下:

  ③但是实际上,展示的页面效果是这样的,如下:

  (1)有一个主页面A,A中嵌入一个iframe框架B,如下:

<body>
<div class="main_body">
<!--logo-->
<img class="logo" src="static/images/logo2.png" alt="江苏分中心">
<!--menu-->
<div class="main-menu">
<a href="#" name="link" class="current" onclick="opIframePage(this,'home');">0</a>
<a href="#" name="link" id="news" onclick="opIframePage(this,'news');">1</a>
<a href="#" name="link" onclick="opIframePage(this,'train');">2</a>
<a href="#" name="link" onclick="opIframePage(this,'auth');">3</a>
<a href="#" style="background: orange; color:#fff;" onclick="regist();">4</a>
</div>
<div>
<iframe id="iframePage" style="width: 100%;height: 1000px;overflow-y:scroll;" frameborder="0"> </iframe>
</div>
<footer>
<p>fgd</p>
</footer>
</div>
</body>

  打开iframe中的页面:document.getElementById("iframePage").src =url;
  (2)如果我打开的B页面后,主体页面位于中部或者底部,这就不符合用户的习惯了

  如何改变?

  方法一:在父页面做手脚:

function topTo(){
  document.getElementById(‘iframePage’).scrollIntoView();
}

    其中iframePage是你要定位在页面顶部的元素id,然后在子页面中调用父级页面的方法,parent.topTo();

  方法二:直接在子页面中写方法:parent.scrollTo(0,0);

    这样就可以显示②步的效果了。

iframe中,页面转换后回到页面的顶部的更多相关文章

  1. iframe中,重新加载页面

    比如在iframe中的页面,设置一个onclick事件的触发函数flush function flush(){ window.location.reload(); }

  2. js控制刷新后回到页面原来位置

    1.document.location.reload(); 2.http://www.jb51.net/article/99749.htm

  3. JS刷新后回到页面顶部

    window.location.href = location.href; 方法一: $(window).scrollTop(0); 方法二:$('html ,body').animate({ scr ...

  4. 转---在ASP.NET MVC中实现登录后回到原先的界面

    有这样的一个需求:提交表单,如果用户没有登录,就跳转到登录页,登录后,跳转到原先表单提交这个页面,而且需要保持提交表单界面的数据. 提交表单的页面是一个强类型视图页,如果不考虑需要保持提交表单界面的数 ...

  5. 在ASP.NET MVC中实现登录后回到原先的界面

    有这样的一个需求:提交表单,如果用户没有登录,就跳转到登录页,登录后,跳转到原先表单提交这个页面,而且需要保持提交表单界面的数据. 提交表单的页面是一个强类型视图页,如果不考虑需要保持提交表单界面的数 ...

  6. vue 获取页面详情后 切换页面时 如何监听用户是否修改过信息

    可以用 beforeRouteLeave 和 updated 来判断.export default { name: 'supplier', components:{cmtWrap,cmtContent ...

  7. fastclick使用与 fastclick ios11.3相关bug原因(ios输入框点击变得不灵敏,ios input失焦后,页面上移,点击不了)

    FastClick 移动设备上的浏览器默认会在用户点击屏幕大约延迟300毫秒后才会触发点击事件,这是为了检查用户是否在做双击.为了能够立即响应用户的点击事件,就有了FastClick. 安装fastc ...

  8. 移动端H5页面返回并且刷新页面(BFcache)

    项目中的需求:点击浏览器中的返回按钮,要让页面重新加载资源.因为这部分的资源每次去加载的内容都不一样,如果返回的时候,还是看到原先的内容,那做这个内容块的意义就很小了:而如果用户看完了这部分内容,再返 ...

  9. session失效刷新后登录页面嵌入在iframe中的前台解决办法

    在前台登录页面中加入JS代码,判断登录页面是否在iframe中,在iframe中就跳转出去 例: //判断是否在iframe中,在里面就跳出去 if (top.location.href != loc ...

随机推荐

  1. C#读取csv文件使用字符串拼接成XML

    phone.csv zhangsan1, zhangsan2, zhangsan3, static void Main(string[] args) { //XML //XML就是一个文件,用来存储数 ...

  2. HDU3487 Play With Chain [Splay]

    题目传送门 题目描述 Problem Description YaoYao is fond of playing his chains. He has a chain containing n dia ...

  3. 小试牛刀之Django

    Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...

  4. Beaglebone Black教程使用SSH通过USB和因特网连接Beaglebone Black

    Beaglebone Black教程使用SSH通过USB和因特网连接Beaglebone Black 使用SSH通过USB和因特网连接Beaglebone Black SSH是Secure Shell ...

  5. angularjs学习笔记2—运行phonecat项目

    如果你去angularjs中文网看它的教程,你会发现一开始它提供了一个phonecat的引导项目,这个项目是angular官方给出的一个类似于demo的教程项目,并配有相应文档,按照这个项目并配合文档 ...

  6. 初见Python<2>:列表和元组

      1.在python中,最基本的数据结构是序列,序列中每一个元素被分配一个序号,即元素的位置,称为索引.索引从0开始,-1表示倒数第一个元素,-2表示倒数第二个元素,因此既可以是从前到后开始对元素进 ...

  7. [Codeforces 1053C] Putting Boxes Together

    Link: Codeforces 1053C 传送门 Solution: 先推出一个结论: 最后必有一个点不动且其为权值上最中间的一个点 证明用反证证出如果不在中间的点必有一段能用代价少的替代多的 这 ...

  8. 【动态规划】Gym - 101201A - Alphabet

    题意:一个字符串被定义为“alphabetical”,当且仅当它能够删除一些字符,变成“ab...yz”,给你一个只由小写字母组成的字符串,问你最少插入几个字母,使它变成“alphabetical”的 ...

  9. GCDAsyncSocket类库,IOS下TCP通讯使用心得

    关于在IOS下使用Socket进行通讯的技术文章也许诺很久了,今日又是一个还债的日子,网上虽然很多介绍过AsyncSocket或GCDAsyncSocket的文章,但其实就那么一两篇大部分都是转载,于 ...

  10. python基础之单例模式

    单例模式: 什么是单例模式? 基于某种方法实例化多次得到实例是同一个 实现方法: ip = '1.1.1.1' port = 3306 # 假装来自配置文件 #方法一:定义类方法进行判断 class ...