跳至主要内容
CSS-Tricks
  • 文章
  • 笔记
  • 链接
  • 指南
  • 年鉴
  • 随机
搜索
iframes
代码片段 → jQuery 代码片段 → 强制 Iframe 重新加载

强制 Iframe 重新加载

Avatar of Chris Coyier
Chris Coyier 于 2019 年 7 月 20 日

您可以触摸它的 src

$('iframe').attr('src', $('iframe').attr('src'));
嘘! 创建一个 DigitalOcean 帐户并获得 $200 的免费信贷 用于基于云的托管和服务。

评论

  1. Remi Grumeau
    评论永久链接# 2011 年 8 月 17 日

    没有 JQuery 的相同结果

    document.getElementsByTagName('iframe')[0].src=document.getElementsByTagName('iframe')[0].src

    因为 JQuery 不总是需要 :)

    回复
    • Jan-Marten
      评论永久链接# 2011 年 8 月 17 日

      区别在于 Chris 重新加载所有 iframe,而您只重新加载 DOM 树中的第一个 iframe。

    • Shahul
      评论永久链接# 2012 年 11 月 5 日

      如何解决缓存问题

  2. Jan-Marten
    评论永久链接# 2011 年 8 月 17 日

    也许我做得太过分了,但如果你想用纯 JavaScript 达到 Chris 所得到的结果

    Object.prototype.each = function(f){
        var l = this.length;
        for(var i=0;i<l;i++)
            {
                try {
                    this[i].eachCall = f;
                    this[i].eachCall(this[i]);
                } catch(e){ throw e; }
            }
    };
    
    document.getElementsByTagName('iframe').each(function(){this.src=this.src;});

    我迫不及待地想看到 Chris 学会如何进行正确的原型设计的那一天 ;-)

    回复
    • Basil
      评论永久链接# 2011 年 9 月 12 日

      我是一个新手,
      请您告诉我应该将代码放在哪里?

    • Rob
      评论永久链接# 2011 年 10 月 16 日

      Basil,我知道可能有点晚了,你可能已经弄清楚了,但以防万一,你可以在你的“head”中放置代码,或者创建一个以 .js 结尾的外部 JavaScript 文件,只要确保你在你的“head”中引用它即可。
      希望对你有所帮助。

    • Matt Kipper
      评论永久链接# 2012 年 11 月 17 日

      我目前正在使用这个版本的脚本,但它正在破坏页面上的其他脚本。有什么想法导致这种情况吗?

    • Rahul
      评论永久链接# 2017 年 6 月 11 日

      这是否解决了 IE 中的缓存问题?

  3. Alex
    评论永久链接# 2011 年 9 月 8 日

    老实说,我只想评论,因为你的评论系统太棒了。

    赞赏

    回复
  4. junior
    评论永久链接# 2012 年 7 月 11 日

    评论预览没有功能,哈哈哈啊哈哈哈

    回复
  5. Celine
    评论永久链接# 2012 年 10 月 16 日

    谢谢!!

    如何重新加载 2 个或多个 iframe?

    回复
  6. Laurent
    评论永久链接# 2012 年 10 月 24 日

    非常感谢!

    回复
  7. Nenad
    评论永久链接# 2013 年 8 月 11 日

    非常感谢。我已经尝试过多种方法来实现这一点,但没有一种真正对我有用。这才是真正的解决办法!再次感谢 :)

    回复
  8. esm
    评论永久链接# 2014 年 2 月 27 日

    $(‘iframe’).attr(‘src’,’Your src here ‘);

    回复
  9. Codeplussoft
    评论永久链接# 2014 年 11 月 6 日

    来自 您要链接的文字…
    $( '#iframe' ).attr( 'src', function () { return $( this )[0].src; } );

    回复
  10. Dheeraj Kawatra
    评论永久链接# 2016 年 5 月 19 日

    如果页面上有多个 iframe,此代码不起作用。它将所有 iframe 的 url 替换为要重新加载的第一个 iframe 的 url。更健壮的 jquery 代码应该是

      $('iframe').each(function (){
                   var src= $(this).attr('src');
    
                    $(this).attr('src', src);
                });
    
    

    回复
  11. Bj
    评论永久链接# 2018 年 2 月 8 日

    如果您想重新加载页面内的所有框架,可以尝试以下方法

    document.querySelectorAll("iframe").forEach(function(e){ e.src+=""; });
    

    jQuery

    $("iframe").each(function(i,e){ e.src+=""; });
    

    无论哪种情况,它都没有解决缓存问题 :/

    回复

发表评论 取消回复

您的电子邮件地址将不会被公开。 必填字段标有 *

CSS-Tricks 由 DigitalOcean 提供支持。

关注 Web 开发最新动态

通过我们的手工制作的时事通讯

DigitalOcean
  • 关于 DO
  • Cloudways
  • 法律事项
  • 获取免费信贷!
CSS-Tricks
  • 为我们写作!
  • 与我们合作广告
  • 联系我们
社交
  • RSS 订阅
  • CodePen
  • Mastodon
  • X
返回顶部

© 2024 . All rights reserved.