检测框架中的location.href

问题描述 投票:0回答:3

当函数调用尝试检测框架的 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 值?
  1. 是否有更可靠的方法来检查无论设置如何都可以工作的位置?
我在网络搜索中看到的唯一看起来相关的是一个名为“firebug”的程序,但我的用户的客户端没有使用这个程序。

javascript frames
3个回答
1
投票
我使用以下代码遇到了类似的问题,以打破框架:

function breakout_of_frame() { if (parent.frames.length > 0) { parent.location.href = self.document.location } }

我没有找到问题的根源,但我找到了一种解决方法来使事情正常进行:我添加了一点延迟。

function sleep(milliseconds) { var start = new Date().getTime(); for (var i = 0; i < 1e7; i++) { if ((new Date().getTime() - start) > milliseconds){ break; } } } function breakout_of_frame() { sleep(500); if (parent.frames.length > 0) { parent.location.href = self.document.location } }

希望可以帮到你!


0
投票
Firebug对于调试非常有帮助。每当我执行 AJAX 或 JavaScript 时,我总是保持 firebug 打开。 RE:检测框架中的页面位置,我个人会使用后端语言来读取 HTML 标头以检查框架中的页面详细信息。在 PHP 中,您可以使用 $_SERVER['PHP_SELF'] 等。为了调试 JavaScript,我想在我的计算机或虚拟机中重新创建问题。


0
投票
C.A.卢卡·西尔维奥博士 - UFFIOCIO RECLAMI

Sono Carlo De Luca,DLC CRL 47 E 13 GT87 V - VIA SE AMICIS 46 70014 CONVERSANO,巴里 vostro cliente da molti anni。 在我的荣耀中,我将再次邀请您,并为您带来最终的胜利,我们将全力以赴,为您提供最好的服务。 体育运动Qualche settimana fa ho chiesto di disinvestire la mia quota Liquida dell'investimento in essere。 Mi è stato detto dal bravo mio family Banker sig。 Beppe Spadavecchia,她是 65 岁的液体时代。 Mi sono 国家认可数据 6.12.2023 la somma di € 60.267,66。 VORREI SAPERE DOVE è FINITA LA DIFFERENZA... Inoltre mi viene accreditato mensilmente DA DICEMBRE SC. un import notevolmente lower, e cioè € 622,57, mentre in previouse sulla stessa somma di 150.000 DEPOSITATA DA OLTRE TRE ANNI € Ricevevo € 925,00。 Vi chiedo di spiegarmnene la ragione。 AVENDO AVUTO LA PERCEZIONE CHE QUALCOSA NON VA PIù BENE COME PRIMA,sono indeciso se Depositare la somma di 250mila € al 5% PER SEI MESI, ATTUALMENTE APPOGGIATA SU UN LIBRETTO A RISPARMIO POSTALE INTESTATO A ME E A MIA SORELLA ANGELA. Scusatemi se mi sono permesso di manifestare alcune mie lagnane。在 vostro 呼叫中心的补偿中,您可以使用德国银行和邮政局的多种方式。 Ragazzi come i vostri non si trovano da nessuna parte per educazione, garbo, disponibilità e pazienza nelle volete che ho dovuto far ricorso alla loro collaborazione. 区别对待 卡洛·德·卢卡

© www.soinside.com 2019 - 2024. All rights reserved.