1

我已经很久没有编写 Web 程序了。如何执行 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。请注意,只要我留在同一框架内,导航就可以正常工作。

4

1 回答 1

0

尝试将 id 替换为 name 属性,那么它应该在所有浏览器中都能正常工作。在这些页面上对其进行了测试:

<!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>
于 2013-06-06T21:06:34.117 回答