在帧之间传递变量

时间:2015-07-04 21:51:47

标签: php jquery iframe

类似于我发现的问题,但仍然无法实现我的需要。我有一个page.php,用函数.load加载到块din_content中 page.php文件

<div id="ess">
<div id="top_ch">
    <h1>Ess</h1>
</div>
    <div id="ch">
    <iframe name="users" width="220" height="510" align="left" src='ess/users.php' id="userch"></iframe>
    <iframe name="text"  width="450" height="405" src='ess/text.php'></iframe>
</div>

在页面中我有两个Iframe。所以我有两个问题。首先在iframes加载的主页面中我有Jquery函数

    $(document).on('click','.link_pro',function () {  
//some actions
 });

如何使该功能在iframe中也有效?

第二,在第一个Iframe我有两个链接。所以我需要的是取决于你点击的链接,变量&#39; active&#39;改变并依赖于该变量的值改变了第二个iframe。例如,您点击第一个链接和变量&#39; active&#39; = 1转移到第二个iframe(甚至可以转移到父级并尝试发送到第二个iframe槽方法Get),其中值依赖于显示请求的结果。我尝试用jquery和php实现它。但仍然没有得到结果。点击第一个iframe中的链接获得结果的最大问题。

1 个答案:

答案 0 :(得分:1)

如果您拥有iframes源并且它们与顶部窗口属于同一个域,那么,为了附加事件,您可能会执行以下操作:

jQuery("iframe").load(function(){
  jQuery(this).contents().find(".link_pro").on("click", function(){

  });
});

上面的代码会将点击事件附加到您的iframe内容(.link_pro)。

然后,对于第二个问题,例如,如果您在顶部窗口中有:

var myTopVar; //This belongs to top window scope

从您的iframe中,您可以访问:

top.myTopVar;

我认为应该是这样,但是,您的顶级窗口和iframe应该共享同一个域(document.domain)。如果没有,您将面临same origin policy个问题。