【问题标题】:Refresh iframe?刷新 iframe?
【发布时间】:2012-08-20 20:56:36
【问题描述】:

我的页面上有一个 iframe,您可以在其中查看我最新的 Web 开发页面,等等。是否可以使用常规的 JavaScript 或 jQuery 刷新它?

<iframe src="projektit" style="width:100%; height:400px; border:none;" id="iframe"></iframe>

我正在考虑这样的事情。

$.ajax({
    url: "../",
    success: function (data) {
        $("#iframe").html(data);
    }
});

有什么想法吗?

【问题讨论】:

  • 另一种选择是使用&lt;meta&gt; 标记或简单的window.setTimeout 设置使iframe 中的页面自行刷新...但可以理解您是否希望刷新iframe外部。 编辑,除非我误解了你要做什么
  • 不是一个选项。只有在用户需要时才必须刷新 iframe。
  • 很公平,这是有道理的。在这种情况下,Gabe 提供了一个很好的答案

标签: javascript jquery iframe reload


【解决方案1】:
<iframe id="homepage" frameborder="1" width="400" height="300" src="http://jbcurtin.com/"></frame>
<script>
  var frame=$("#homepage")
  frame.attr('src',frame.attr('src'))
  // None jquery:
  var frame=document.getElementById('homepage')
  frame.src=frame.src;
</script>

http://jsfiddle.net/ekpAm/

【讨论】:

  • 这实际上并没有做任何事情。
  • 这对我有用!框架.src=框架.src;将最新的 url 绑定到 iframe
【解决方案2】:

jsFiddle

要刷新 iframe,我建议只更改 src 值。 更改 src 值将触发 iframe 刷新。

$('#iframe').prop('src', url);

如果您发现它没有刷新,您可以随时在 url 的末尾附加一个虚假的查询字符串值,以防它被缓存。

var q = new Date(); // use current date obj as query string value
$('#iframe').prop('src', url + '?q=' + q.getTime());

【讨论】:

  • 我无法让这个工作,我会做一个小提琴。
  • @ChristianNikkanen Google 不允许您将它们用作 iframe 源。这是一个工作示例:jsfiddle.net/XG3Ea
  • 代码似乎可以工作...但不在我的服务器上...因为我已设法从我的页面中删除 jquery。但是不,它不起作用。
  • @ChristianNikkanen 也许您可以使用 fiddler 查看正在发出的请求
  • 很可能是服务器配置有问题之类的。
猜你喜欢
  • 2011-03-15
  • 2019-07-17
  • 2016-05-17
  • 1970-01-01
  • 1970-01-01
  • 2011-04-28
  • 2012-08-13
  • 2013-03-20
相关资源
最近更新 更多