【发布时间】:2011-12-07 22:07:56
【问题描述】:
当函数调用尝试检测框架的 location.href 时,我在访问我的网站的某些计算机上遇到了问题,而更改值没有问题。有问题的框架可能指向不同的站点,可以通过以下调用单击另一个框架中的选项来操作:
parent.frames[0].location.href="http://www.foo.com/bar.html";
在所有情况下都可以正常工作并将框架更改为适当的位置。但是,对于某些用户而言,随后尝试验证它是否位于特定位置会失败。我尝试通过以下方式验证当前帧位置:
if(parent.frames[0].location.href == "http://www.foo.com/bar.html")
{
return true;
}
然而,对于我的一些用户来说,这会导致框架崩溃,并在 Firefox 浏览器(在 Web 开发人员/错误控制台下)中显示为“无法检测 location.href”。然而,对于使用完全相同的浏览器的其他用户来说,它工作得很好。
我的问题:
- 是否存在导致此错误的设置,客户端可以设置为允许检查 location.href 值?
- 是否有更可靠的方法来检查即使设置也能正常工作的位置?
我在网络搜索中看到的唯一一个看起来相关的是一个名为“firebug”的程序,但我的用户的客户端没有使用这个程序。
【问题讨论】:
-
@ephemient Gotcha,这可能与它有关,但它是 HTML DOM 中对同一服务器(相同域,相同端口)上另一个框架的服务器端调用,看起来对谁的影响有点随机(我知道这不是随机的,但不能说出共同点)
标签: javascript frames