2012-01-22 3 views
2

youtube.com 텍스트가 포함 된 iframe의 URL을 어떻게 수정할 수 있습니까?jQuery로 iframe URL 수정

내가 추가 할 :

&wmode=Opaque

그것에

하지만,이 인수가 존재하지 않는 경우에만;

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

하지만 오류 얻을 :

이 시도

Uncaught Error: Syntax error, unrecognized expression: [src*=youtube.com]


확인을 나는 발견 :

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

값을 인용해야하기 때문에 구문 오류가 발생합니다 :'src * = 'youtube.com''. – alexn

+0

마지막 코드를 사용하면 해당 매개 변수가 이미 존재하더라도 URL에 '& wmode = Opaque'를 추가합니다. –

+0

네 말이 맞다. 내가 존재하는지 어떻게 확인할 수 있니? 자바 스크립트에 strpos 함수가 있습니까? – Alex

답변

1

jQuery API 당신이 원하는에 따르면 this :

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

'youtube.com'주위에는 큰 따옴표가 있습니다.

+0

오빠, 내가 타이핑하는 동안 너 스스로 알아 냈어. – Joep

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> 

그냥 src과 iframe 태그의 id을 변경 한 다음은 iframe에 새 키의 부부와 값을 추가 에 기능 appendToIframe를 사용 key가 아직없는 경우 URL.

jQuery는 필요하지 않습니다.