Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 阻止Element.scrollIntoView()函数滚动父对象,其中元素位于iframe中_Javascript_Jquery_Html_Css_Iframe - Fatal编程技术网

Javascript 阻止Element.scrollIntoView()函数滚动父对象,其中元素位于iframe中

Javascript 阻止Element.scrollIntoView()函数滚动父对象,其中元素位于iframe中,javascript,jquery,html,css,iframe,Javascript,Jquery,Html,Css,Iframe,我有一个具有以下功能的页面: function aux_func(_this){ let link = document.getElementById("oLink").href; var elmnt = _this.contentDocument.getElementById(link); elmnt.scrollIntoView({ behavior: "smooth", block: "center" });

我有一个具有以下功能的页面:

function aux_func(_this){
            let link = document.getElementById("oLink").href;
            var elmnt = _this.contentDocument.getElementById(link);
            elmnt.scrollIntoView({ behavior: "smooth", block: "center"  });
        }
其中,oLink是页面中的一个元素,elmnt是加载在iframe的srcdoc中的html中的一个链接

函数的调用方式如下:

<iframe id="cFrame" srcdoc="{{t1}}" onload="aux_func(this)"></iframe>

或者任何类似的属性,因为我仍然需要访问父对象和iframe中的其他元素。

我知道这只是一种攻击,但是在向下滚动iframe之后,将窗口向上滚动如何。在函数末尾添加以下内容:

window.scrollTo(0, 0);

这将使iframe保持滚动,但页面将跳回顶部。如果在打开页面时加载iframe,则效果良好。或者,您可以保存页面当前所在的位置,然后在滚动iframe后滚动回该位置

添加它可以阻止任何滚动的发生;变量y=_this.window.pageYOffset;window.scrollTo0,0_这个.window.scrollTo0,y;
window.scrollTo(0, 0);