camendesign의 VIDEO FOR EVERYBODY 스크립트를 사용하여 내 페이지에 동영상 요소를 삽입하고 HTML5 기능이없는 사용자를위한 플래시 플레이어 대체 버전을 사용합니다.flashVars 문자열에 자바 스크립트 변수 삽입하기
그러나 페이지가 호출 될 때 동적으로로드되도록 URL을 변경하고 있습니다. object embed params 태그의 flashVars 문자열을 제외한 모든 항목이 파싱됩니다. 이 params 태그의 값은 URL 인코딩되어야하므로 비디오가 페이지에 렌더링되기 전에 비디오의 URL을 포스터 이미지에로드하고로드 된 값을 사용하여 비디오 파일을 인코딩해야합니다.
내 질문은 : 어떻게 적절하게 flashVars 값을 완료 할 수 있도록 올바르게 두 값을 구문 분석 할 수 있습니까? 여기
내 코드입니다 : (결과적으로 이것이 내가 실행 해요 자바 사이트입니다, 따라서 자바 C : 세트)<!DOCTYPE HTML>
<c:set var="title" value="Blender Demo Reel 2013"/>
<c:set var="file" value="bdr2013"/>
<c:set var="poster" value="poster.jpg"/>
<c:set var="width" value="960"/>
<c:set var="height" value="540"/>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>New Video Player</title>
</head>
<script>
var posterEncode = encodeURIComponent("${poster}");
var fileEncode = encodeURIComponent("${file}");
</script>
<body>
<div id="videoContainer">
<video controls preload poster="${poster}" width="${width}" height="${height}">
<source src="${file}.mp4" type="video/mp4">
<source src="${file}.ogv" type="video/ogg">
<source src="${file}.webm" type="video/webm">
<object type="application/x-shockwave-flash" data="http://player.longtailvideo.com/player.swf" width="${width}" height="${height}">
<param name="movie" value="http://player.longtailvideo.com/player.swf" />
<param name="allowFullScreen" value="true" />
<param name="wmode" value="transparent" />
<param name="flashVars" value="controlbar=over&image="+posterEncode+"&file="+fileEncode+".mp4" />
<img alt="Big Buck Bunny" src="${poster}" width="${width}" height="${height}" title="No video playback capabilities, please download the video below" />
</object>
</video>
</div>
</body>
</html>
소스 코드 나는 브라우저에서 볼이로 돌아 오기 :
<script>
var posterEncode = encodeURIComponent("poster.jpg");
var fileEncode = encodeURIComponent("bdr2013");
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>New Video Player</title>
<body>
<div id="videoContainer">
<video controls preload poster="poster.jpg" width="960" height="540">
<source src="bdr2013.mp4" type="video/mp4">
<source src="bdr2013.ogv" type="video/ogg">
<source src="bdr2013.webm" type="video/webm">
<object type="application/x-shockwave-flash" data="http://player.longtailvideo.com/player.swf" width="960" height="540">
<param name="movie" value="http://player.longtailvideo.com/player.swf" />
<param name="allowFullScreen" value="true" />
<param name="wmode" value="transparent" />
<param name="flashVars" value="controlbar=over&image="+posterEncode+"&file="+fileEncode+".mp4" />
<img alt="Big Buck Bunny" src="poster.jpg" width="960" height="540" title="No video playback capabilities, please download the video below" />
</object>
</video>
</div>
</body>
</html>
왜 서버 측에서 Java에서'poster'와'file'의 URI 인코딩을하지 않습니까? –
하지만 그 변수를 flashVars 문자열에 삽입해야합니까? 그리고 그것은 제가 위의 질문에서 묻는 것입니다. – Murphy1976