要将不同的参数传递给iframe URL和顶部窗口URL

时间:2019-10-23 08:24:29

标签: javascript iframe parameters

我们有一个现有的应用程序A(A/pathnameA/?param1=true&param2=false),该应用程序使用window.location.href = A/pathnameB/?param1=true&param2=false重定向到应用程序B。所有这些都发生在iframe中。因此,我们在顶部窗口URL中看不到参数更改。在应用程序B的顶部窗口URL中,只有pathname组件更改为pathnameBA/pathnameB/?param1=true&param2=false; URL来源组件保持不变)。在应用程序B中,我们使用这些iframe参数param1param2进行处理。

我们现在有一个要求,我们只想使用其中一个参数来更新顶部窗口URL(例如,删除param1; A/pathnameA/?param2=false),但是我们想将两个参数都保留在iframe进行处理(即A/pathnameA/?param1=true&param2=false)。

为此,我们保留了iframe代码

window.location.href = A/pathnameB/?param1=true&param2=false // no change

并添加了新代码以仅更新顶部窗口的网址

window.top.location.href = A/pathnameB/?param2=false // for top window url

(或window.parent.location.href = A/pathnameB/?param2=false

即使顶部窗口URL中的参数已按预期更新,但现在iframe中的参数也已更新为A/pathnameB/?param2=false。我们基本上需要iframe URL同时具有param1param2和顶部窗口URL以仅显示param2

  1. 一次又一次更新iframe URL和顶部窗口URL是否是错误的做法?
  2. window.top.location.href是否还会覆盖iframe URL(window.location.href)值?
  3. 在这种情况下我应该使用什么解决方案?

0 个答案:

没有答案