У меня есть простая страница ASP.NET, которая использует медиаплеер VLC для воспроизведения видео в IE. У меня также есть четыре кнопки для управления воспроизведением:Может ли тег объекта HTML размещаться внутри тега формы HTML?
Play, Pause, Stop, and Mute
Четыре кнопки вызова функции JavaScript, которые имеют доступ управления ActiveX. При нажатии на любую из кнопок, я получаю следующее сообщение об ошибке в функции JavaScript:
"Microsoft JScript runtime error: 'vlc' is undefined".
Однако, если переместить object
тег для VLC Player вне form
тега, то JavaScript работает правильно, и я могу управлять воспроизведением видео.
Мой вопрос: почему тег object
находится за пределами тега формы, чтобы этот код работал правильно?
<%@ Page Language="C#" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="VlcTest.Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>VLC Test Page</title>
<script type="text/javascript">
function mute() {
vlc.audio.toggleMute();
}
function play() {
vlc.playlist.play();
}
function stop() {
vlc.playlist.stop();
}
function pause() {
vlc.playlist.togglePause();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<object type="application/x-vlc-plugin"
id="vlc"
width="720"
height="548"
classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921" >
<param name="MRL"
value="C:\Inetpub\wwwroot\Movies\Funny Cats.flv" />
<param name="volume" value="50" />
<param name="autoplay" value="false" />
<param name="loop" value="false" />
<param name="fullscreen" value="false" />
</object>
<br />
<div id="controls">
<input type="button" onclick="play()" value="Play" />
<input type="button" onclick="pause()" value="Pause" />
<input type="button" onclick="stop()" value="Stop" />
<input type="button" onclick="mute()" value="Mute" />
</div>
</div>
</form>
</body>
</html>