0

하나의 플러그인을 가져 와서 내 웹 페이지에 삽입하면 플러그인이 미디어 파일 (.mp3, mp4 플러그인웹 페이지의 npapi 플러그인 개체를 한 div에서 다른 div로 이동하는 이유, 플러그인을 삭제하고 다시 생성하는 이유 [chrome, FireFox]

<object id='plugin' type='xxxx' width='xxxx' height='xxxx'></object> 

문제처럼 만들어

<div id='div1'>Plugin</div> 
<div id='div2'><div id='div2sub'></div></div> 

됩니다 :처럼, M3U8, 등등) 누군 데 웹 페이지가 보인다 내가 div2sub하는 div1에서 플러그인을 이동할 때 같은 :

var x = document.getElementById('plugin'); 
var y = document.getElementById('div2sub'); 
y.appenChild(x); 

IE : 플러그인이 여전히 미디어 파일, 비디오, 오디오 출력을 재생 중이며 잘 작동합니다 (ActiveX 플러그인) Chrome 및 FireFox : 비디오 및 오디오 출력이 없으므로 플러그인이 미디어 파일을 더 이상 재생하지 않습니다. (npapi 플러그인)

이유는 다음과 같습니다. IE에서 플러그인이 방금 이동하고 크롬 및 FireFox를 삭제하고 다시 생성 한 다음 플러그인을 삭제 한 다음 다시 작성해야합니다. 플러그인, 크롬 콘솔 콜백 이벤트를 등록하는 기능이 하나 있습니다. 내 플러그인이 콜백 이벤트를받지 못해 미디어 파일을 재생할 수 없습니다.

제 질문은 어쨌든 제가 플러그인을 움직일 수 있고, 플러그인이 파괴되지 않고 크롬과 파이어 폭스로 재현되지 않고 그냥 IE처럼 작동한다는 것입니다. 도움을

감사합니다 ... 플러그인은 정말 file a bug해야 다시 만들어지고 경우

답변

1

이것은 npapi 플러그인의 꽤 일반적인 문제입니다. DOM에서 주위를 움직일 때 내가 알고있는 브라우저에서는 안정적으로 동작하지 않습니다. 상위 컨테이너를 display : none, visibility : hidden, overflow : none 등으로 변경하면 비슷한 문제가 발생합니다. ActiveX 컨트롤은 훨씬 더 재미 있습니다.

내가 사용하는 해결 방법은 부동 절대 위치 div에 플러그인을 넣는 것입니다. 나는 플러그인이 필요한 페이지에 또 다른 div를 놓았고, 이동해야 할 때마다 위치 지정 div의 절대 위치를 계산하고 부동 div를 이동시켜야합니다. 해킹 비트이지만 꽤 잘 작동합니다.

+0

답변 해 주셔서 감사합니다. – user2638168

+0

예 : 'display : None'이 사용되는 동안이 문제가 발생합니다. – user2638168

+0

플러그인을 숨길 때 너비 = 1, 높이 = 1로 설정합니다. – taxilian