noname02

2016.02.21 본문

DailyStudy

2016.02.21

kimtaku 2016. 2. 21. 15:50

ajax로 엘리먼트를 append 한 후 이벤트리스너를 등록할 때에는

$('body').on('event', 'selector', function() { }); 을 사용한다.





youtube api 사용


// API를 로드한다.

var tag = document.createElement('script');

tag.src = "https://www.youtube.com/player_api";

var firstScriptTag = document.getElementsByTagName('script')[0];

firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);


// API로드시 콜백함수


function onYouTubePlayerAPIReady() { }


// 선택된 id값의 엘리먼트를 iframe으로 변경


var player = new YT.Player('id', {

width: value,

height: value,

videoId: id,

playerVars: {

attribute: value

...

...

}

};


playerVars는 https://developers.google.com/youtube/player_parameters?hl=ko#Parameters 에서 확인.




이유는 모르겠지만, jquery ajax로 XML을 파싱하는데 

<a>

<b></b>

<c></c>

</a>

<a>

<b>

<c>

</a>

와 같은 구조를 $(xml).find('a').each(function() { }); 으로 하니까 <a>가 한개만 존재할 때에는 작동을 잘 하더니, 2개 이상이 되니까 파서에러가 뜨는 현상이 발생했다. 그리하여


<d>

<a>

<b></b>

<c></c>

</a>

<a>

<b></b>

<c></c>

</a>

</d>


와 같이 d 구조를 하나 추가한 뒤


var foo = $(xml).find('d');

foo.find('a').each(function() { }); 으로 하니까 잘 작동하였다. 이유는 모르겠다...

'DailyStudy' 카테고리의 다른 글

2016.03.08  (0) 2016.03.08
2016.03.04  (0) 2016.03.04
2016.03.02  (0) 2016.03.02
2016.03.01  (0) 2016.03.01
Comments