检测iFrame中的新网址

时间:2013-06-26 17:44:31

标签: javascript html iframe

这就是我所拥有的:

  • www.mydomain.com/Pagex.html - 在此页面中,我有一个iFrame,它的默认网址(src)是一个外部/不同的域,然后是主页的页面(pagex.html)。
  • iFrame中加载的代码是带有提交的用户输入表单。
  • 当用户点击提交时,它会记录数据,然后重定向到与托管页面www.mydomain.com/Pagex.html相同的网址,但添加了标记(Pagex.html?xxx = 1)...所以你可以想象父页面现在正在自己的iFrame中加载

我想做什么......

使用我怀疑的JavaScript能够检测到进入iFrame的新URL并“然后”做两件事:

  1. 隐藏iFrame
  2. 在主要主页上显示/显示一些文字(不在iFrame所在的同一位置)

    • 我怀疑这会或者可以使用DIV,那很好......这是检测到iFrame的更改/不同URL的原始URL我无法工作。
  3. URL的   - 加载的主机/主页:www.mydomain.com/Pagex.html   - 在pagex.html中的iFrame URL / SRC中进行硬编码:dev.abcdefg.com/testcode.html   - 通过重定向发送到iFrame的新网址:www.mydomain.com/Pagex.html?xxx = 1

    感谢您的帮助! /沙恩

    更新/更多信息

    所以这里有一个“可能”的地方我可以从iFream到主页获取一些信息...... 当新的/重定向的URL加载时,它带有一个标记“.com / pagex.asp?XXX = 1”... 所以请记住它现在正在加载一个我可以控制pagex.asp的页面(是旧的经典asp,而不是.HTML),并且从与主机相同的域中加载,它是正在加载的主机文件。 在ASP的代码中,我检查了xxx = 1(request.querystring),并且我可以控制HTML和JS发送到iFrame的内容。 有没有办法,我可以使用已经加载的主页寻找某种值,将其推送到管道的iFrame?

    我知道这是一种疯狂的iFrame在提交时加载它自己的主机文件,但我只有这么多控制...

    由于

1 个答案:

答案 0 :(得分:0)

问题在于您的iframe与文档的主页面具有不同的域。因此,父页面和iframe页面几乎无法访问彼此的内容。

您可以做的最好的事情是使用window.postMessage() API。但请注意that this API is not available in all browsers yet