Q&A

최신코어에 스킨은 스케치북과 flat board 게시판 스킨을 사용하고 있고 에디터는 ck editor를 사욜합니다

 

https://www.youtube.com/watch?v=vuE5hfwq-_U

 

이런 형태의 주소는 oembed가 작동하는데

 

흔히 주소를 복사하면 나타나는

 

https://youtu.be/vuE5hfwq-_U

 

이런형태의 주소는 oembed가 작동하지 않습니다.

 

무엇이 문제일가요 ㅠ

댓글 11

  • oembed 애드온 내에서 패턴을 regex 형식으로 인식해서 변형해주는데, 그 패턴이 등록되어 있지 않기 때문으로 생각됩니다. 그걸 적절한 패턴으로 등록해준다면 변행해줄겁니다. 제가 정규식이 약해서 수정하는 방법까지 알려드릴수는 없지만요..

  • @alicetaylor
    답변 감사합니다!!
  • 제가 쓴 글 검색해보세요. (혹시 https 사용하신다면 해당할듯)

    아 참고로 스케치북의 경우 원래 oembed가 잘 안됩니다. 전 세진님한테 의뢰해서 해결했네요.
  • @기븐
    감사합니다 큰 도움이되었어요!!
  • jquery.oembed.js 를 보면 그 해당 패턴이 있긴 한데...그게 안먹는 것 같아요. 
    깃헙에서 검색한 다른  jquery.oembed.js를 봐도 그부분은 똑같아요. 

     

    /* Native & common providers */
        $.fn.oembed.providers = [

            //Video
            new $.fn.oembed.OEmbedProvider("youtube", "video", ["youtube\\.com/watch.+v=[\\w-]+&?", "youtu\\.be/[\\w-]+", "youtube.com/embed"], '//www.youtube.com/embed/$1?wmode=transparent', {
                templateRegex: /.*(?:v\=|be\/|embed\/)([\w\-]+)&?.*/, embedtag: {tag: 'iframe', width: '425', height: '349'}
            }), //이 숫자를 바꾸면 크기와 비율을 조절가능 (기븐님 tip)

            //new $.fn.oembed.OEmbedProvider("youtube", "video", ["youtube\\.com/watch.+v=[\\w-]+&?", "youtu\\.be/[\\w-]+"], 'http://www.youtube.com/oembed', {useYQL:'json'}),


    아참 스케치북이 아닌 xedition도 안먹습니다. 

     

    "youtu\\.be/[\\w-]+"

    ​얘가 어디가 잘못된 것일까요? 으흐흐. 반가운 질문글이라 겸사겸사 묻어가려고..
    xe의 oEmbed 애드온의 jquery.oembed.js 유튜브 부분도 저것과 동일합니다. 아랫부분의 주석처리부분은 과거의 것을 기록으로 남겨둔 모양이구요.

     

     

  • @jbl_ref
    제가 이거 관련글도 썼던거 같은데... 혹시 검색에서 안 나오던가요? (기억이 잘)

    저게 있긴 한데, 문제는 이 파일 상단에 보시면 youtu.be 요 주소가 "짧은주소를 긴 주소로 변경하는 api" (api.longurl.org) 를 사용할 목록("shortURLList")에 들어가 있습니다. 근데 저 api.longurl.org가 ssl을 지원 안 하기 때문에, ssl을 사용하는 사이트의 경우 저 긴 주소 변환 기능이 작동하지 않습니다.

    해결방법은 그 목록에서 youtu.be를 제거해주는 겁니다. (api.longurl.org의 경우 이미 많은 사용자들이 문제제기한지 벌써 몇 년이 지났는데도 불구하고 ssl을 지원하지 않고 있으므로 포기해야 할 겁니다.) youtu 라고 검색해보시면 나올 겁니다.
  • @기븐

    저는 SSL 아직 안써서...(여기서 이거저거 읽으며 배우는 단계라서 좀 자신감 붙으면 적용하려고요) SSL사용으로 인한 짧은 주소지원안되는 그 문제는 아닐 것 같아요.


    제가 잘못 이해했네요. 유튜브가 https://이니까 저 js파일 상단의 단축주소를 지정한 부분을 지우라는 뜻이군요?

    혹시나 싶어서 그js화일 상단의 목록에서 그 youtu.be,를 지우니 이제 먹습니다.
    감사합니다. 기븐님.  

  • @jbl_ref
    음 아닙니다;;; 저는 SSL 안 쓰던 시절에 유튜브 짧은주소도 잘 됐기 때문에.. 어쩌면 longurl api에 문제가 생긴 건지도 모르겠네요. 뭐 어차피 유튜브는 그게 필요없으므로 그냥 삭제시키는게 낫기 때문에 상관없을겁니다.
  • 원글러님께 정리해 드리자면 oEmbed애드온의  jquery.oembed.js 화일을 열어보시면
    앞부분에 짧은 주소들이 잔뜩 지정되어있는걸 보실수 있을 거여요.
    거기서 youtu.be를 삭제하시구요.
     

    그리고 jquery.oembed.min.js화일도 똑같이 수정해서 덮으시면 저 짧은 주소도 작동하네요. 확인해보고 답변드립니다.

  • @jbl_ref
    명쾌한 정리 감사합니다!
  • 답변주신 모든분들 정말 감사합니다 사랑해욧~♡