[英]HTML Frameset alignment
假设我在一个框架集中有 3 个框架,排列成 3 行。 框架 1 和 3 来自我的网站,框架 2(中央的)来自外部网站。 是否有一种巧妙的方法可以强制浏览器将第 2 帧中的数据居中对齐?
我发现了一个小的变通方法,它使用框架集中的框架集,该框架集在数据的两侧有 2 个空白列,但这意味着第 2 帧和第 3 帧的滚动条不对齐。
有任何想法吗?
编辑:我目前拥有的代码是:
<html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server" /> <frameset rows="10%,65%,25%" border=0 frameborder="no"> <frame name="nav" noresize scrolling="no" src='NavigationBar.aspx?NAVIGATION=<%=sDisplayNavigation %>'> <frameset cols="1*,1010px,1*"> <frame name="lspace" scrolling="no" src="border.htm"> <frame name= "main" scrolling="auto" src='<%=sMainTextURL%>#highlight'> <frame name="rspace" scrolling="no" src="border.htm"> </frameset> <frame name="suggest" scrolling="yes" noresize src='<%=sSuggestURL%>'> </frameset> </html>
我认为您正在寻找的是一种将一些 CSS 注入另一个框架的方法,即使它来自另一个站点。
我认为如果没有服务器端脚本来请求页面并修改它,这是不可能的。
Javascript 有办法使用 window.frames[] 和使用 DOM 遍历来修改其他框架,就像对本地框架中的元素一样。 由于“同源策略”,这对您来说是个问题。 这基本上意味着从 example.com 加载的框架中的 javascript 无法访问从 foo.com 加载的框架中的 DOM。 即使您有类似的域 foo.example.com 和 bar.example.com,它们在浏览器中也被视为单独的域,因此不允许您的 javascript 访问另一个。
这也会影响使用 XMLHttpRequest 的 ajax 调用。 有一些方法可以减少这种影响,但我认为您需要能够在线路的两侧运行 javascript。
我最近尝试了类似于您正在做的事情,我想将一个站点嵌入另一个站点,但是同源策略使其不切实际。
另一种方法是服务器端而不是客户端。 创建一个代表客户端从另一台服务器请求内容的 php 脚本,然后将其作为一直在您的服务器上提供。 然后你的javascript,现在在同一台服务器上,可以用那个框架做它会做的事情。 如果其他站点使用大量 cookie 或 ajax,这可能会很棘手,但您的 php 不会有同源策略来处理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.