如何从父窗口网址获取变量到子iframe或从父iframe获取变量到子iframe?
我有index.html文件,其中iframe表单的形式将数据发送到checker.php而不是这个文件将用户转发给带有变量的example.php,http://www.example.com/sample.php?variable=variable
example.php有iframe并且iframe的 iframe名为authenticate.php。
答案 0 :(得分:1)
正如Eugen Rieck试图找出的那样,内容只能通过iframe来源于同一个域,否则你会遇到same origin policy。
要与iframe中的文档进行通信,您可以使用
var frame=window.document.getElementById('yourFrame');
var doc=frame.contentWindow.document;
然后,您可以与iframe中的文档元素进行通信。
我会将您尝试“抓取”的变量包含在example.php中作为隐藏文本输入。您可以通过运行查询字符串来执行此操作:
var queryString = new Object;
var qstr = window.location.search.substring(1);
var params = qstr.split('&')
for (var 1=0; i<params.length; i++) {
var pair = params[i].split('=');
queryString[pair[0]]=pair[1];
var variable = queryString['variable'] //find the value of variable
document.write("<input style='visibility:hidden' id='variable' type='text' value='"+ variable +"'></input>");
一旦在iframed文档中,请使用以下命令将其拉回父级:
var variable = doc.getElementById('variable').value;
和鲍勃是你的叔叔。
如果这有帮助,请告诉我....
---- ---- EDIT
或者,如果您要在父页面的函数中编写它,要从子页面调用它,您可以使用:
function callParentFunction() {
parent.getVariable();
return false;
}
你可以运行一个onload来调用这个或类似的东西