【问题标题】:transfer variable between frames帧间传递变量
【发布时间】:2015-07-04 21:51:46
【问题描述】:

类似的问题我发现了很多但仍然无法意识到我需要什么。我有一个 page.php,它用函数 .load 加载到块 din_content 中 页面.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。所以我有两个问题。首先在加载 iframe 的主页中,我有 Jquery 函数

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

如何使该功能在 iframe 中也能正常工作?

其次,在第一个 iframe 中,我有两个链接。所以我需要的是取决于您单击的链接,变量“活动”更改并取决于该变量的值更改了第二个 iframe。例如,您单击第一个链接和变量 'active' =1 而不是传输到第二个 iframe(甚至可能传输到父级并尝试发送到第二个 iframe 槽方法 Get),其中取决于显示的值要求的结果。我尝试用 jquery 和 php 来实现它。但是还是没有得到结果。单击第一个 iframe 中的链接获得结果的最大问题。

【问题讨论】:

    标签: php jquery iframe


    【解决方案1】:

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

    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 问题。

    【讨论】:

    • 谢谢,我现在就努力实现。同一域中的所有框架,您可以在我的问题中看到它们,我在哪里获得目录...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    • 1970-01-01
    • 2015-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多