IE8 브라우저에서 avi 비디오를 동적으로 재생하려고합니다. 내 비디오는 사용자가 내 서버에 업로드 할 AVI 형식입니다. 나는 몇 가지 테스트 HTML 코드를 가지고 있으며, 이것이 비디오를 재생하는 곳에서 작동한다. 나는이 작업을 얻었다 후IE8 브라우저에서 avi 비디오를 동적으로 재생하려고합니다.
<html>
<body>
<object id="MediaPlayer1" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" hspace="0" vspace="0" standby="Loading Microsoft Windows Media Player components...">
<param name="Filename" value="toy_plane_liftoff.avi"">
<embed type="application/x-mplayer2"
pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" name="mediaplayer1" autoplay="false" autostart="false"
height="330" width="360" loop="false" controls="false" allowFullscreen="True" src="toy_plane_liftoff.avi"">
</object>
</body>
</html>
그래서 누군가가 동영상을 클릭 할 때 그때 브라우저에 자바 스크립트와이 HTML 코드를 삽입 할 희망 동영상을 재생 내 JSON 파일에서 동영상의 내 목록을 만들 것입니다 결정 . 이것은 나의 새로운 HTML
<html>
<head>
<script>
function loadDoc(){
var url = "./getJsonData";
var xdr = new XDomainRequest();
xdr.onload = function(){
var videoName = [];
var obj;
var response = xdr.responseText;
obj = JSON.parse(response);
for(var i = 0; i < obj.SopVideo.length; i++){
var something = obj.SopVideo[i];
videoName.push(something[0].Name);
}
var list = document.createElement('ul');
list.setAttribute('id', "videoList");
for(var i = 0; i < videoName.length; i++){
var item = document.createElement('li');
var createA = document.createElement('a');
createA.setAttribute('href', "#");
item.setAttribute('id', videoName[i]);
item.appendChild(createA);
item.appendChild(document.createTextNode(videoName[i]));
list.appendChild(item);
}
document.getElementById('videoName').appendChild(list);
var ul = document.getElementById('videoList');
ul.attachEvent('onclick', function(e) {
//alert(e.srcElement.nodeName);
var videoID = e.srcElement.id;
playVideo(videoID);
});
};
xdr.onerror = function() {
alert("error happened")
};
xdr.open('get', url);
xdr.send();
}
function playVideo(id){
var hidInputValue = document.getElementById('hidInput').value;
if(hidInputValue == "true"){
var elem = document.getElementById('videoPlayerChild');
elem.parentNode.removeChild(elem);
}
var videoChildObject = document.createElement('div');
videoChildObject.setAttribute('id', "videoPlayerChild");
document.getElementById('videoPlayer').appendChild(videoChildObject);
var videoObject = '<object id="mediaplayer1" classid=CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" hspace="0" vspace="0" standby="Loading Microsoft Windows Media Player components...">' +
'<param name="Filename" value="'+id+'">'+
'<embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" name="mediaplayer1" autoplay="false" autostart="false"'+
'height="330" width="360" loop="false" controls="false" allowFullscreen="True" scr="'+id+'">'+
'</object>';
var content = document.querySelectorAll('[id="videoPlayerChild"]')[0];
content.innerHTML = videoObject;
}
</script>
</head>
<body onload="loadDoc()">
<div id="videoName"></div>
<div id="videoPlayer">
</div>
<object id="MediaPlayer1" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" hspace="0" vspace="0" standby="Loading Microsoft Windows Media Player components...">
<param name="Filename" value="toy_plane_liftoff.avi"">
<embed type="application/x-mplayer2"
pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" name="mediaplayer1" autoplay="false" autostart="false"
height="330" width="360" loop="false" controls="false" allowFullscreen="True" src="toy_plane_liftoff.avi"">
</object>
<input type="hidden" value="false" id="hidInput">
</body>
</html>
무엇인지 나는 다음 목표는 인 parentNode에서 제거하는 것입니다 자바 스크립트에 의해 생성 된 비디오 플레이어 자식 DIV로 클릭 한 비디오를 밀어있다 달성하기 위해 노력하고 있다면 필요한 것. 나는 그 부분에 대해서 걱정하지 않는다. 나는 단지 비디오를 재생하려고 노력하고있다. 나는이 페이지에 아래에 일한 동일한 html 코드를 추가했는데 어떤 이유로 내 페이지에서 내 HTML 코드가 작동하지 않지만 독립적으로 작동합니다. 어떤 도움이 크게 IE8이되어야 할 것입니다 높이 평가할 것입니다 내가 어떻게이 사이트를 호스팅하고 뭔가 잘못 될 것으로 보인다. 내가 위의 코드로 작업했다고 말했을 때 로컬 비디오가있는 로컬 HTML 파일이기 때문입니다. 내 파일은 비디오가 같은 위치에 html 파일이 존재하지 않는 것처럼 보이지만 src가 어디에 있는지를 인식하는 것처럼 보이지만 내 HTML 파일을 제공하는 노드 코드입니다. .
app.get('/RapVideo', function(req, res) {
res.sendFile(path.join(__dirname + '/test/videotest.html'))
});
// my app is listening on localhost port 8080 for the post to be called
var server = app.listen(8080, function() {
console.log('Listening on port ' + server.address().port)
});