Javascript 使用iframe中的js将子iframe重定向到相对url-但url是相对于父项的

Javascript 使用iframe中的js将子iframe重定向到相对url-但url是相对于父项的,javascript,url,iframe,Javascript,Url,Iframe,一些我没想到的有趣的行为。我有一个包含iframe的页面,在这个iframe中有一个javascript函数重定向它自己的窗口 我从父帧调用iframe的js函数。我预期的行为是,它会将iframe重定向到一个新页面,相对于iframe的现有位置 相反,它会相对于父帧的位置重定向 您可以在此处看到演示: 我在这里做错了什么,还是我只需要为重定向编写一个绝对url 我发现这条线听起来很相似。然而,没有人给我答案: 更改: document.getElementById("myframe").co

一些我没想到的有趣的行为。我有一个包含iframe的页面,在这个iframe中有一个javascript函数重定向它自己的窗口

我从父帧调用iframe的js函数。我预期的行为是,它会将iframe重定向到一个新页面,相对于iframe的现有位置

相反,它会相对于父帧的位置重定向

您可以在此处看到演示:

我在这里做错了什么,还是我只需要为重定向编写一个绝对url

我发现这条线听起来很相似。然而,没有人给我答案:

更改:

document.getElementById("myframe").contentWindow.moveMe()
致:

这样,将在iframe的上下文中执行
moveMe

更改:

document.getElementById("myframe").contentWindow.moveMe()
致:


这样,在iframe的上下文中执行
moveMe

试试这个,它适合我

<script>function RedirectPage(){ document.getElementById("frame1").src = "http://WWW.microsoft.com";}</script>
function RedirectPage(){document.getElementById(“frame1”).src=”http://WWW.microsoft.com";}

试试这个,它适合我

<script>function RedirectPage(){ document.getElementById("frame1").src = "http://WWW.microsoft.com";}</script>
function RedirectPage(){document.getElementById(“frame1”).src=”http://WWW.microsoft.com";}

实际上是一个后续语法问题。如果我需要将参数传递到moveMe(),这将如何工作?@Nathan,“javascript:moveMe()”只是一个字符串,所以您可能只能传递字符串或数字参数,比如:“javascript:moveMe('myParameterValue'),“javascript:moveMe(123)”是的,我也这么想。您的解决方案肯定适用于这些情况,不幸的是,我需要能够传入一些对象。我想如果归结起来,我可以将它们序列化,但如果有一种方法可以避免这种开销,那就更好了。@Nathan嗯,有一种不太好的方法。您可以在parent.html(winddow.myParam)中设置一个全局变量,并在调用moveMe(parent.myParam)时从child.html访问它。如果我需要将参数传递到moveMe(),这将如何工作?@Nathan,“javascript:moveMe()”只是一个字符串,所以您可能只能传递字符串或数字参数,比如:“javascript:moveMe('myParameterValue'),“javascript:moveMe(123)”是的,我也这么想。您的解决方案肯定适用于这些情况,不幸的是,我需要能够传入一些对象。我想如果归结起来,我可以将它们序列化,但如果有一种方法可以避免这种开销,那就更好了。@Nathan嗯,有一种不太好的方法。您可以在parent.html(winddow.myParam)中设置一个全局变量,并在调用moveMe(parent.myParam)时从child.html访问它。