【问题标题】:Javascript frameset navigationJavascript 框架集导航
【发布时间】:2013-06-06 13:00:11
【问题描述】:

很久没写网页了。如何执行 javascript 框架集导航(或将框架集替换为完全相同的框架集):

<frameset rows="*,32">
  <frame src="about:blank" id="viewer">
  <frame src="cgi/browse.exe?images">
</frameset>

browse.exe 生成的网页包含一个带有文件列表的 javascript 数组,以及两个按钮:previuos 和 next。当用户单击下一步时,下一个文件应显示在“查看器”中。

我试过了

parent.frames["viewer"].location.assign("...");

在 FF 中没有成功。它适用于 IE。请注意,只要我留在同一框架内,导航就可以正常工作。

【问题讨论】:

  • 您应该避免使用框架集,原因在此解释:stackoverflow.com/a/4263583/1960455(使用 html5,它们也被标记为已弃用)。你应该创建普通的 html 页面而不是框架集,并结合使用 ajax 加载内容。
  • 我想不使用 AJAX。此外,在这种特殊情况下,我看不出框架在概念上有什么问题。
  • 1.查看图像。 2. 从地址栏中复制/粘贴地址。 3. 发送给朋友。 4.想知道为什么他们看到的图像不是你看到的图像。 帧中断链接,这是 WWW 的基本特征
  • ...或在框架中单击鼠标右键。选择“此框架”并选择您的选项。至少在 FF 中
  • 我实际上看到了框架的一个原因。它不会膨胀浏览器的历史记录!

标签: javascript dom frameset


【解决方案1】:

尝试将 id 替换为the name attribute,那么它应该可以在所有浏览器中正常工作。在这些页面上进行了测试:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>index.html</title>
</head>
<frameset cols="240,*">
<frame name="fmenu" src="leftmenu.html" scrolling="yes"/>
<frame name="viewer" src="page1.html" scrolling="yes"/>
<noframes><p>noframes</p></noframes>
</frameset>
</html>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>leftmenu.html</title>
</head>
<body>
<a onclick="window.parent.frames['viewer'].location.assign('page2.html')">test</a>
</body>
</html>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>page1,2.html</title>
</head>
<body>
<p>START PAGE</p>
</body>
</html>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-06
    • 1970-01-01
    • 1970-01-01
    • 2013-03-06
    • 1970-01-01
    • 2014-11-10
    • 1970-01-01
    相关资源
    最近更新 更多