ASP.NET页面里有个Object控件,我在里面放了一个视频。页面是个弹出页面,GridView上的多个链接都指向这一个页面,根据传来的不同ID替换Object里的视频路径。这样做有一个问题,就是关闭页面以后,视频的声音还在,于是我想着是不是可以用JavaScript控制一下Object,在页面刷新或者关闭的时候outerHTML一下。但是每次弹出页面以后,刷新或者关闭,都提示无法找到对象,只写一句alert(“ok”)也是一样的效果。页面别的JavaScript语句都执行的没有问题,只是这个有问题,是怎么回事?
是个什么Object?
是new出来的吗?
<object classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" id="Vedeo"
width="464" height="374" name="cats">
<param name="URL" value="<%=ConfigurationManager.AppSettings["urlGCVideo"].ToString()%><%=Request.QueryString["FileName"] %>/0.swf" />
<param name="rate" value="1" />
<param name="autostart" value="-1" />
<param name="balance" value="0" />
<param name="currentPosition" value="0" />
<param name="defaultFrame" value="" />
<param name="playCount" value="1"/>
<param name="autoStart" value="-1" />
<param name="currentMarker" value="0" />
<param name="invokeURLs" value="-1" />
<param name="baseURL" value="" />
<param name="volume" value="50" />
<param name="mute" value="0" />
<param name="uiMode" value="full" />
<param name="stretchToFit" value="0" />
<param name="windowlessVideo" value="0" />
<param name="enabled" value="-1" />
<param name="enableContextMenu" value="1" />
<param name="fullScreen" value="0" />
<param name="SAMIStyle" value="" />
<param name="SAMILang" value="" />
<param name="SAMIFilename" value=""/>
<param name="captioningID" value="" />
<param name="enableErrorDialogs" value="0" />
</object>
</div>
就是一个网页播放器
function reset()
{
document.getElementById ('vedeo').outerHTML="";
//alert("ok!");
}
</script>
就这么一句,我在body的onbeforeunload事件里调用了一下,但是总提示缺少对象
document.getElementById ('vedeo').outerHTML="";
注意逗号和大小写
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript" src="swfobject.js"></script>
</head>
<html:html>
<body bgcolor="#CCCCCC">
<div vliagn="center" width="100%" height="100%">
<p id="player1"><a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see this player.</p>
</div>
<script type="text/javascript">
var s1 = new SWFObject("flvplayer.swf","single","100%","99%","7");
s1.addParam("allowfullscreen","true");
s1.addVariable("file","${sessionScope.urlValue}");
s1.addVariable("id","${sessionScope.titleName}");
s1.addVariable("image","aa.jpg");
s1.addVariable("clicktext","");
s1.addVariable("bufferlength","5");
s1.write("player1");
</script>
</body>
</html:html>
<div id="myobj">
<object classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" id="Vedeo......>
</div>
js 语句
document.getElementById("myobj")innerHTML = "你想要的内容";
我单独运行页面,直接在URL里传值,得到的效果也是一样的,缺少对象。
加DIV,Table的方法我都试过了,都是一样的效果。
这个问题困扰了我好几天了,实在是郁闷
改成:
document.getElementById ('Vedeo').outerHTML="";
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
</title>
<link href="/Content/Site.css" rel="stylesheet" type="text/css" />
<link href="/Content/jdMenu.css" rel="stylesheet" type="text/css" />
<link href="/Content/jdMenu.slate.css" rel="stylesheet" type="text/css" />
<link href="/Content/jquery-ui-1.7.2.custom.css" rel="stylesheet" type="text/css" />
<!--[if IE 6]>
<link href="/Content/Site-ie6.css" rel="stylesheet" type="text/css" />
<![endif]-->
</head><body><form action="/Message/OutgoingMessage/StatusEnquiry" method="post" name="frmListStatusEnquiry" onsubmit="Sys.Mvc.AsyncForm.handleSubmit(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, updateTargetId: 'divListStatusEnquiry', onSuccess: Function.createDelegate(this, ListStatusEnquiryReEval) });">
<script language="VBScript">
sub newwin(str)
window.open str, "newwin","toolbar=no, scrollbars=yes,location=no, directories=no, status=no, menubar=no, width=680, height=480, top=80, left=100"
end sub
</script>
<a href="#" onClick=newwin("tanchu.html")>留言板</a>
</body>
</html>tanchu.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
</title>
<link href="/Content/Site.css" rel="stylesheet" type="text/css" />
<link href="/Content/jdMenu.css" rel="stylesheet" type="text/css" />
<link href="/Content/jdMenu.slate.css" rel="stylesheet" type="text/css" />
<link href="/Content/jquery-ui-1.7.2.custom.css" rel="stylesheet" type="text/css" />
<!--[if IE 6]>
<link href="/Content/Site-ie6.css" rel="stylesheet" type="text/css" />
<![endif]-->
<script language="javascript"> function doClickAll() {
alert(1234);
var result = document.getElementById ('Vedeo').outerHTML;
alert(result);
//alert(document.getElementById ('vedeo').outerHTML);
} </script>
</head><body><form action="/Message/OutgoingMessage/StatusEnquiry" method="post" name="frmListStatusEnquiry" onsubmit="Sys.Mvc.AsyncForm.handleSubmit(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, updateTargetId: 'divListStatusEnquiry', onSuccess: Function.createDelegate(this, ListStatusEnquiryReEval) });">
<div id="divListStatusEnquiry">
<div><object classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" id="Vedeo" width="464" height="374" name="cats">
<param name="URL" value="0.swf" />
<param name="rate" value="1" />
<param name="autostart" value="-1" />
<param name="balance" value="0" />
<param name="currentPosition" value="0" />
<param name="defaultFrame" value="" />
<param name="playCount" value="1"/>
<param name="autoStart" value="-1" />
<param name="currentMarker" value="0" />
<param name="invokeURLs" value="-1" />
<param name="baseURL" value="" />
<param name="volume" value="50" />
<param name="mute" value="0" />
<param name="uiMode" value="full" />
<param name="stretchToFit" value="0" />
<param name="windowlessVideo" value="0" />
<param name="enabled" value="-1" />
<param name="enableContextMenu" value="1" />
<param name="fullScreen" value="0" />
<param name="SAMIStyle" value="" />
<param name="SAMILang" value="" />
<param name="SAMIFilename" value=""/>
<param name="captioningID" value="" />
<param name="enableErrorDialogs" value="0" />
</object>
</div>
<div class="leftAlign">
<input type="button" name="chkItemAll" value="button" onclick="doClickAll();" /> </div></body>
</html>
我是用ClientScript.RegisterStartupScript方式弹出的页面,是不是跟这个还有关系
貌似超出我的理解范围咯。
+ strUrl + "','"
+ strSTNM + "','"
+ intWidth + "','"
+ intHeight + "','"
+ MessageBoxURL + "','"
+ MessageBoxtype + "','"
+ MessageBoxTrue + "');</script>");
弹出页面的时候还调用了一个FlytoMapCZJavaScript的方法,用来定位弹出页面的位置