首页 文章

HTML框架对齐

提问于
浏览
1

假设我在一个排列成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>

1 回答

  • 2

    我认为你正在寻找的是一种将一些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不会有同源策略来处理 .

相关问题