javascript - 外部页面 - 给它 JS 指令?

标签 javascript css iframe overflow external

我对链接或嵌入外部页面感兴趣,滚动到特定点。这是可能的,还是跨浏览器的安全性会阻止它?

我考虑过的一种解决方法是在 div 中创建 iframe,为 iframe 提供负边距,然后溢出:隐藏;容器分区。

谢谢。

最佳答案

一个可能的解决方案是使用 JavaScript 来滚动页面。但是,如果您要嵌入的页面位于不同的域中,如果它位于 iframe 中(由于 same origin policy),您将无法使用 JavaScript 访问其内容。但是,如果它与主机页面位于同一域中,您应该能够使用 JavaScript 访问它,然后使用 window.scrollTo(x,y) 滚动。方法或类似方法(参见 this page on MDN )。

此外,如果您要嵌入的页面在您要滚动到的位置有一个命名 anchor ( <a name="blah"> ) 或一个具有特定 ID ( <div id="blah"> ) 的 block 级元素,您可以链接到它或使用 http://example.com/page#blah 等 URL 嵌入它它会自动滚动到 blah。这不在同源策略下,所以你可以做类似 <iframe src="http://example.com/page#blah"></iframe> 的事情框架将自动滚动到 blah,即使它与主机不在同一个域中也是如此。

您提到的“带负边距的 iframe”解决方案可能有效,但这可能难以实现并且可能会导致问题,特别是如果您想要完全的跨浏览器兼容性。

关于javascript - 外部页面 - 给它 JS 指令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4466056/

相关文章:

javascript - Firefox 中全屏 Bootstrap 轮播插件的问题

css - IE7 cleafix 不工作

html - 我将如何做到这一点,以便无法暂停youtube嵌入[HTML5]

javascript - 简单的javascript,对象中的函数

javascript - 如何用 jQuery 相互替换(更改)DOM 中的 2 个 div 节点?

javascript - 如何在Leaflet.js中动态设置阴影

javascript - Internet Explorer Iframe 递归 window.onblur

在图像上应用 css 过滤器的 Javascript 按钮

javascript - Three.js 使用 THREE.TextureLoader 重复纹理

javascript - 了解用户正在 iframe 中浏览哪个页面