SWFObject를 사용하여 ASPX 페이지에 포함 된 Flash 무비에 메서드를 호출하기 위해 Javascript를 사용하고 있습니다. Firefox에서 제대로 작동하지만 Internet Explorer 7 및 8 (지금까지)은 swfobject.getObjectById()
에 의해 반환 된 객체가 "이 속성 또는 메서드를 지원하지 않습니다"라고 주장합니다. 이 사이트와 다른 사이트에서 비슷한 게시물을 찾았지만 IE에서이 문제가 해결되지 않았습니다.Internet Explorer가 ASPX에서 Flash ExternalInterface 메서드를 보지 못하는 이유는 무엇입니까?
은 ActionScript 3.0 클래스 :
public class Player extends MovieClip {
public function Player()
{
Security.allowDomain("http://localhost");
ExternalInterface.addCallback("test", test);
}
public function test():void
{
debugBox.appendText("test() called successfully\n");
}
}
ASPX 마크 업 :
또한 ASPX 마크 업에 따라<head runat="server">
<script type="text/javascript" src="Scripts/swfobject.js"></script>
<script type="text/javascript">
swfobject.registerObject("myPlayer", "9.0.0", "scripts/expressInstall.swf");
</script>
</head>
<body>
<form id="form1" runat="server">
<div class="movie">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="640" height="640" id="myPlayer">
<param name="movie" value="Player.swf" />
<param name="allowscriptaccess" value="always" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="Player.swf" width="640" height="640">
<!--<![endif]-->
<a href="http://www.adobe.com/go/getflashplayer">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif"
alt="Get Adobe Flash player" />
</a>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
, 플래시 객체를 얻고 그것에 test()
메소드를 호출하려고 코드가 일어나고있다 타사 구성 요소 (DevExpress ASPxHiddenField)의 AJAX 콜백 플래시 동영상이로드 된 후이 콜백은 사용자 입력에 의해 트리거됩니다 :
<dx:ASPxHiddenField ID="filenameHiddenField" runat="server" OnCustomCallback="filenameHiddenField_CustomCallback"
SyncWithServer="False">
<ClientSideEvents EndCallback="function(s, e) {
var playerObject = swfobject.getObjectById("myPlayer");
playerObject.test();
}" />
</dx:ASPxHiddenField>
는 "개체가이 속성 또는 메서드를 지원하지 않습니다."
감사합니다.
위한 2 개체 embed 태그의 id 매개 변수를 누락 것 같습니다. –
EndCallback 속성에서 큰 따옴표 안에 있기 때문에이 따옴표를 이스케이프해야한다고 생각합니다. Visual Studio 디자이너와 혼동하여 IIS에서 파서 오류를보고했습니다. –
큰 따옴표 나 큰 따옴표를 사용해보십시오. –