【问题标题】:Change part of "src" attribute of iframe with jQuery使用 jQuery 更改 iframe 的“src”属性的一部分
【发布时间】:2018-03-01 15:28:26
【问题描述】:

我实际上需要在一个嵌入 drupal 6 网站的 vimeo iframe 上禁用自动播放。

我无法在 embedmedia 模块中更改此设置,因此我需要使用 jQuery 来执行此操作。

这是原始的“src”vimeo内容:

<iframe src="http://player.vimeo.com/video/69431566?fullscreen=1&amp;show_title=1&amp;show_byline=0&amp;show_portrait=1&amp;autoplay=1" frameborder="0" style="height: 23vw; width: 100vw;"></iframe>

我已经用 jQuery 覆盖了 height 和 width 属性。

所以我尝试对“src”做同样的事情,但我的代码替换了“src”内容:

$("#media-vimeo-1 iframe").attr('src','autoplay=0');

如何保留 src 内容的其他部分,只更改自动播放设置?

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    second parameterattr 可以是处理旧值以获得新值的函数:

    $("#media-vimeo-1 iframe").attr('src', function (index, oldSrc) {
        return oldSrc.replace('autoplay=1', 'autoplay=0');
    });
    

    【讨论】:

      【解决方案2】:

      你必须得到旧的src,替换所需的参数,然后更改src

      $(document).ready(function() {
        var oldSrc = $("#media-vimeo-1 iframe").attr("src"); //Get the src of the iframe
        var newSrc = oldSrc.replace("autoplay=1", "autoplay=0"); //Replace "autoplay=1" by "autoplay=0"
        
        $("#media-vimeo-1 iframe").attr("src", newSrc); //Change the src attr to the new value
        
        console.log("Old Src: " + oldSrc);
        console.log("New Src: " + newSrc);
      });
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
      
      <div id="media-vimeo-1">
        <iframe src="http://player.vimeo.com/video/69431566?fullscreen=1&amp;show_title=1&amp;show_byline=0&amp;show_portrait=1&amp;autoplay=1" frameborder="0" style="height: 23vw; width: 100vw;"></iframe>
      </div>

      【讨论】:

        【解决方案3】:

        在您的示例中,您只是将src 属性设置为autoplay=0 您真正想要做的是获取当前值,替换字符串中的值并重新分配值。

        示例(有更好的方法):

        var link = $("iframe").attr('src');
        link = link.replace('autoplay=1', 'autoplay=0');
        $("iframe").attr('src', link);
        

        【讨论】:

          【解决方案4】:

          希望此代码对您有所帮助。

          var src = $('iframe').attr('src'); <br>
          var searchParams = new URLSearchParams(src); <br>
          searchParams.set('autoplay','0'); <br>
          var newParams = searchParams.toString(); <br>
          $('iframe').attr('src', decodeURIComponent(newParams)); <br>
          

          源码:
          https://github.com/sendeveloper/stackoverflow/tree/master/javascript_src_autoplay

          【讨论】:

            猜你喜欢
            • 2011-12-05
            • 2018-09-30
            • 1970-01-01
            • 2023-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多