【问题标题】:HTML: Frameset Open in New window or TabHTML:框架集在新窗口或选项卡中打开
【发布时间】:2013-08-25 11:27:36
【问题描述】:

我在使用 FRAMESET 时遇到问题。

场景:

我正在使用框架集。我的菜单中有 5 个链接,当我单击主页时它还可以,但是当我在新选项卡或新窗口中打开它时,设计不包括在内。

有没有办法将设计捆绑在一起,用户使用新窗口或新标签打开它?

这是我的框架集代码:

<frameset rows="120,*,30" border ="0">
<frame name ="top" src="header.php">

</frame>

<frameset cols="200,*" border ="0">
<frame src="menu.php" name="menu">
<frame src="index.php" name="main" scrolling="yes">
</frame>
</frameset>

<frame name="bottom" src="footer.php">

</frameset>

这是我的菜单代码:

<body bgcolor = "#585858">
    <b>User Menu :</b>
    <ul>
    <li><a href="index.php" target="main">Home</a></li>
    <li><a href="main.php" target="main">Playlist</a></li>
    <li><a href="view_weeks.php" target="main">View Weeks</a></li>
    <li><a href="view_network.php" target="main">Network</a></li>
    <li><a href="view_netbldg.php" target="main">Station & Building</a></li>
    </ul>
</body>

我已经尝试了 _top、_self、_parent、_blank,但没有一个我正在查看。

提前谢谢。

【问题讨论】:

    标签: html frameset


    【解决方案1】:

    这是设计使然。

    如果您想解决它并强制框架集出现在新窗口中,我想到的唯一可行的选择是在框架集的每个子页面顶部进行 javascript 检查,如果没有, 重定向回框架集页面。

    var isFramesetAvailable = (window.top !== window.self);
    if (!isFramesetAvailable) {
      window.location.href = 'your_frameset_page.html#target_page';
    }
    

    然后您的框架集页面将检查#target_page url 片段,如果存在,则加载该框架。

    【讨论】:

    • 嗨谢谢你帮助我...它的工作,但它总是显示主页。例如,当我单击第二个 href 播放列表链接时,它将进入主页而不是播放列表页面..
    • @PrincessToledo 就像我解释的那样,除此之外,您还需要“框架集页面 [to] 检查#target_page url 片段,如果存在,则加载该框架。”。这是除此之外还需要做的事情。
    猜你喜欢
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 2014-02-02
    • 2013-03-11
    • 2013-01-18
    • 2010-09-12
    相关资源
    最近更新 更多