Javascript 返回未定义的parent.window.location.pathname?

Javascript 返回未定义的parent.window.location.pathname?,javascript,Javascript,这是登录问题的重定向,但parent.window.location.pathname返回未定义 更奇怪的是,我们在我们的开发服务器上运行相同的代码,所有这些都像犹太教徒一样工作。相同的浏览器,相同的代码。父窗口是否在同一个域上?如果没有,则您无权访问parent.location。我忘记了有多少位置是不可访问的。在这种情况下,我认为您没有读取权限,但您可能有一些写入权限,但您肯定无法访问路径名。您确定从中调用该函数的文档具有父级吗?也就是说,您是在iframe或类似的框架内执行该代码吗?在没有

这是登录问题的重定向,但parent.window.location.pathname返回未定义


更奇怪的是,我们在我们的开发服务器上运行相同的代码,所有这些都像犹太教徒一样工作。相同的浏览器,相同的代码。

父窗口是否在同一个域上?如果没有,则您无权访问parent.location。我忘记了有多少位置是不可访问的。在这种情况下,我认为您没有读取权限,但您可能有一些写入权限,但您肯定无法访问路径名。

您确定从中调用该函数的文档具有父级吗?也就是说,您是在iframe或类似的框架内执行该代码吗?在没有双亲的情况下尝试。路径名仍然不应该返回未定义的-或者至少,当我将该行粘贴到Chrome的控制台中时,不会返回未定义的路径名。在顶部窗口中,window.parent返回它自己。在这种情况下,位置可能是未定义的,或者是空的?如果您的脚本没有访问父窗口的权限,即如果它在另一个域上的iframe中运行,则为。它在iframe中。我想我可能有:登录窗口是安全的,即https,弹出iframe的窗口不是。我想可能是这样:登录表单是安全的,即https,调用它的页面不是。有没有什么新的想法?我们无法保护整个网站的安全,因为我们允许热链接图像用户可以在我们的网站上自定义页面,并且我们允许他们使用外部托管的图像,通常来自他们自己的网站。是的;您可以在iframe的URL中放置一些东西,指示登录页面调用了它。它只需要将login中的hash附加到URL,然后由页面上的JavaScript检查。
if ( parent.window.location.pathname.indexOf ( "login" ) > 0 )
    var selfUrl = 'http://www.example.com';
else
    var selfUrl = unescape(parent.window.location.pathname);