Изменение URL-адреса iframe с помощью jQuery - PullRequest
2 голосов
/ 22 января 2012

Как изменить URL-адрес iframe, если он содержит текст youtube.com?

Я хочу добавить:

&wmode=Opaque

к нему, но только если этот аргумент еще не существует;

Попытка:

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

, но я получаю ошибку:

Uncaught Error: синтаксическая ошибка,нераспознанное выражение: [src * = youtube.com]


хорошо, я узнал:

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

Ответы [ 2 ]

1 голос
/ 22 января 2012

Я бы сделал это следующим образом:

<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>

Просто измените src и id тега iframe по желанию, а затем используйте функцию от appendToIframe до и добавьтеновая пара ключей и значений для URL iframe, только если ключ еще не существует .

Обратите внимание, что для этого jQuery не нужен.

1 голос
/ 22 января 2012

Согласно jQuery API вы хотите сделать это:

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

Обратите внимание на двойные кавычки вокруг youtube.com.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...