【问题标题】:refresh iframe from a .php in a separate iframe在单独的 iframe 中从 .php 刷新 iframe
【发布时间】:2015-09-02 02:43:12
【问题描述】:

我有一个由 7 个不同 iframe 构建的页面:

<iframe id="leftframe" src="structure/leftbar.php"></iframe>
<iframe id="headerframe" src="structure/header.php"></iframe>
<iframe id="menuframe" src="structure/menu.php"></iframe>
<iframe id="timerframe" src="structure/times.php"></iframe>
<iframe id="settingsframe"></iframe>
<iframe id="contentframe" name="contentframe"></iframe>
<iframe id="chatframe" src="chat/index.php"></iframe>

我有一个在“内容框架”中运行的 .php。当我单击其中的按钮时,它会将post 发送到.php.php 功能正常,但最后,我希望它重新加载 leftframe 框架。

我尝试了这些页面上的建议:

How to refresh an IFrame using Javascript? What's the best way to reload / refresh an iframe using JavaScript?

但这些似乎都不起作用。

.php我正在尝试:

?>

    <script>
        parent.getElementById('leftframe').location.reload();
        alert("Ping");
    </script>

<?php

这也不起作用。有什么建议吗?

谢谢!

【问题讨论】:

  • 停止为此使用框架,10 年前这是一个好主意,现在就糟糕了
  • 我尝试使用$("#xxx").load();,但它导致框架加载不均匀,有时菜单栏开始闪烁。这是我发现的第一种方式,甚至是全面的..

标签: javascript php iframe


【解决方案1】:

在客户端可以使用后端刷新 iframe 是绝对错误的。

它对我有用:

<script>
     document.getElementById('leftFrame').contentWindow.location.reload(); 
     alert('Ping');
</script>

是的,您确定需要 iframe 吗?
这绝对不是一个好习惯。特别是在一个世纪强大的 JS 及其框架和 AJAX 中。如果你更新 DOM 元素的内容而不是刷新 iframe 会更好。

【讨论】:

  • 您建议我如何构建大纲? &lt;div id="x"&gt; 而不是 &lt;iframe&gt;?
  • @jpgerb 是的,完全正确。将您的 iframe 网格更改为 divs 网格。您将能够使用 CSS 设置样式并使用 JS 对其进行操作。
  • 这就是我最初的方式,它导致了一些问题。我会恢复它,并有机会在周围的菜单中阻止它们闪烁。谢谢!
  • 我也会后退一步来评估动态管理左侧菜单、标题、计时器等的优势,而不是在老式静态文档中,这些组件由php 基于请求。
  • 我动态加载这些的主要目的是清理代码,所以我不会重复所有内容。我可以将所有这些都放入每个页面,但我想找到一种更清洁的方法来做到这一点。当我使用$(#divname).load(/link.php); 时,它会导致很多延迟并冻结我浏览器中的选项卡。
猜你喜欢
  • 2013-11-04
  • 2012-08-13
  • 1970-01-01
  • 2012-08-20
  • 2011-03-15
  • 2012-09-03
  • 1970-01-01
  • 2012-06-18
  • 2013-05-16
相关资源
最近更新 更多