使用jQuery修改iframe URL

时间:2012-01-22 12:54:45

标签: javascript jquery flash youtube

如果iframe的网址包含youtube.com文字?

,如何修改iframe的网址

我想追加:

&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';
});

2 个答案:

答案 0 :(得分:1)

根据您要执行此操作的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'周围的双引号。

答案 1 :(得分:1)

我会这样做:

<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网址如果密钥尚未存在

请注意,不需要jQuery。