본문 바로가기

컴퓨터 팁

파이어폭스에서 embed 태그 문제 해결 방법

파이어폭스(firefox)에서 embed 태그를 이용해 삽입된 동영상이 뜨지 않고
'현재 콘텐츠를 보려면 플러그인이 필요합니다' 와 같은 메세지가 뜨는 경우의 해결 방법.


1. 그리스몽키 설치
Greasemonkey
https://addons.mozilla.org/ko/firefox/addon/greasemonkey/?src=search

 

2. 스크립트 추가
[부가기능 관리자] - [User script] - [새로운 유저 스크립트]
이름,네이스페이스, 설명 알아서 대충 누르고 확인
아래 내용을 붙여넣고 저장하면 끝


// ==UserScript==
// @name        embed
// @namespace   embed
// @description embed
// @version     1.0
// @grant       none
// ==/UserScript==
javascript: (function () {
  var cE = 'object',
  embeded = 0,
  eE = document.querySelectorAll('embed');

  for (i = 0; E = eE[i]; i++) {
    for (j in E.attributes) {
        A = E.attributes[j];
        if ((A.name != undefined) && (A.value != undefined)) {
          if ((A.name.toLowerCase() == 'src') && (A.value.toLowerCase().indexOf('embed') != -1)) {
          embeded = 1;
              }
                  else if ((A.name.toLowerCase() == 'src') && (A.value.toLowerCase().indexOf('daum') != -1)) {
          embeded = 1;
              }
                  else if ((A.name.toLowerCase() == 'src') && (A.value.toLowerCase().indexOf('mp4') != -1)) {
          embeded = 1;
              }
            }
    }

    if(embeded == 1) {
      N = document.createElement(cE);
      for (j in E.attributes) {
        A = E.attributes[j];
        if ((A.name != undefined) && (A.value != undefined)) {
          N.setAttribute((A.name.toLowerCase() == 'src') ? 'data' : A.name, A.value)
        }
      }
      E.parentNode.replaceChild(N, E)
    }
    embeded = 0;
  }
}) ()