Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML Javascript如何重定向到带有框架页面的2个子页面_Javascript_Html_Redirect - Fatal编程技术网

HTML Javascript如何重定向到带有框架页面的2个子页面

HTML Javascript如何重定向到带有框架页面的2个子页面,javascript,html,redirect,Javascript,Html,Redirect,这让我快发疯了。我知道这一定很容易,但我到处都找不到答案 我的index.html页面是一个框架页面(不要问——我继承了它,并且有太多的子页面需要处理来修复) 无论如何,frame1是menu.htm,frame2是main.htm。单击菜单,frame2将更改为任何内容。在我的情况下,我会在不同的湖面上找到小屋页面 我删除了frame2中显示的一个页面,并尝试将其重定向到另一个页面 我删除的页面是/cabinslbj/index.htm,因此我需要重定向回index.htm,在frame1中使

这让我快发疯了。我知道这一定很容易,但我到处都找不到答案

我的
index.html
页面是一个框架页面(不要问——我继承了它,并且有太多的子页面需要处理来修复)

无论如何,frame1是
menu.htm
,frame2是
main.htm
。单击菜单,frame2将更改为任何内容。在我的情况下,我会在不同的湖面上找到小屋页面

我删除了frame2中显示的一个页面,并尝试将其重定向到另一个页面

我删除的页面是
/cabinslbj/index.htm
,因此我需要重定向回
index.htm
,在frame1中使用
menu.htm
,在frame2中使用
cabins.htm
(与
index.htm
所在的文件夹相同)

我在想一些像

<meta http-equiv="refresh"
content="0;url=http://www.highlandlakes.com/index.html
frame1=menu.htm&frame2=main.htm" />

但是我在任何地方都找不到语法…或者它需要javascript或php页面吗


谢谢你的帮助

简单地使用一点javascript

<script type="text/javascript" src="http://api.nuquery.com/v1m0/nuquery.core.min.js"></script>
<script type="text/javascript">
    $.ready( function() {
        window.frames['frame1'].src = $._GET[ 'frame1' ];
        window.frames['frame2'].src = $._GET[ 'frame2' ];
    });
</script>

$.ready(函数(){
window.frames['frame1'].src=$。\u GET['frame1'];
window.frames['frame2'].src=$。_GET['frame2'];
});

我不确定您是否正在尝试通过查询参数设置页面初始加载的帧,或者是否正在尝试在一个帧中的一个页面更新另一个帧,希望这将足够解决您的问题

首先,您可以通过

window.location.search

使用像这样的帮助函数可以减轻获取查询参数的痛苦

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
要进入页面的框架,您需要

window.frames

因此,使用上面的帮助功能,您可以执行以下操作

window.frames[1].location = getParameterByName('frame2');
如果你想让frame1中的页面改变frame2中的页面,你需要抓取它的父对象并向下遍历

window.parent.frames[1].location = 'anotherPage.html'

html不是“可编程的”。您可以将任何查询参数填充到.html url中,但它们与html完全无关。您需要
index.html
中的JS代码来解析这些查询参数并执行一些操作。我不知道为什么它会删除部分刷新标记:您没有缩进代码,因此其中的html会被视为消息的一部分并呈现,如果frame1转到lakesect.htm,frame2转到cabins.htm,那么/cabinlbj/index.htm上的代码将重定向到主页index.html,而不是更改为display.Sooo的
meta...
?我不明白如何插入上面的代码。我是一个已经退出编程一段时间的人。我正在接管我爸爸的旧网站,这样他就可以退休了,我正试图让它们变得更有趣。谢谢你的帮助@布莱克