使用jQuery修改iframe URL

Modifying iframe URL with jQuery

本文关键字:URL iframe 修改 jQuery 使用      更新时间:2023-09-26

如果iframe包含youtube.com文本,我如何修改它的URL?

我想附加:

&wmode=Opaque

但前提是这个论点还不存在;

尝试:

$('iframe[src*=youtube.com]').attr('src',
   $(this).attr('src') + '&wmode=Opaque');`

但是我得到一个错误:

未捕获错误:语法错误,无法识别的表达式:[src*=youtube.com]


好的,我发现了:

$('iframe[src*="youtube.com"]').each(function(){
  this.src += '&wmode=Opaque';
});

根据jQuery API,您要执行以下操作:

$('iframe[src*=youtube.com]').attr('src',$(this).attr('src') + '&wmode=Opaque');
$('iframe[src*="youtube.com"]').attr('src',$(this).attr('src') + '&wmode=Opaque');

注意"youtube.com"周围的双引号。

我会这样做:

<script type="text/javascript">
    function $_GET(key, src)
    {
        var re = new RegExp('[&|?]'+ key +'=([^&]*)','i');
        return (src = src.replace(/^'?/,'&').match(re)) ? src=src[1] : src='';
    }
    function appendToIframe(id, key, value)
    {
        var iframe = document.getElementById(id);
        var src = iframe.src;
        // Append desired key and value if key doesn't exist
        if (!$_GET(key, src))
        {
            var glue = (src.indexOf('?') == -1) ? '?' : '&';
            src += glue + key +'='+ value
        }
        iframe.src = src;           
    }

    </script>
<iframe src="your_url" id="iframeID"></iframe>
<a href="#" onclick="appendToIframe('iframeID', 'wmode', 'Opaque'); return false;">APPEND</a>

只需根据需要更改iframe标记的srcid,然后使用函数appendToIframe将一对新的键和值添加到iframe URL,仅当键还不存在时。

请注意,不需要jQuery。