Matt!, wow!, thanks! But, I'm obviously way behind you. Can I ask for clarification, please? I'm trying to convert to vb and I'm stumbling in the conversion with the site.config - it's erroring out there. I'm not using a site map or is this referencing web.config? So sorry to trouble you again.
On May 3, 7:56 pm, Matt Saltz <[email protected]> wrote: > I am doing the same thing as you, the difference is that I show my modal > popup when a link is/was clicked. > My solution was have a basic aspx that only had the SWFObect suff and > JavaScript. > My HTML or this page is: > </head> > <body> > <form id="form1" runat="server"> > <table> > <tr><td><div id="ytapiplayer">You need Flash player 8+ and JavaScript > enabled to view this video.</div></td></tr> > </table> > </form> > </body> > </html> > The code behind this page: > public partial class YouTubeVideo : System.Web.UI.Page > { > private string videoID; > protected override void OnPreRender(EventArgs e) > { > base.OnPreRender(e); > this.Title = SiteConfig.SiteName + " : YouTube Video";} > > protected void Page_Load(object sender, EventArgs e) > { > if (!this.ClientScript.IsClientScriptIncludeRegistered("swfobject")) > this.ClientScript.RegisterClientScriptInclude("swfobject", > this.ResolveUrl("~/Scripts/swfobject.js")); > if (Request.QueryString["VideoID"] != null) > videoID = Request.QueryString["VideoID"].ToString(); > else //Load Default Video > videoID = "Piltd4hh7pY"; > StringBuilder sb = new StringBuilder(); > sb.AppendLine("<script type=\"text/javascript\">"); > sb.AppendLine("var params = { allowScriptAccess: \"always\" };"); > sb.AppendLine("var atts = { id: \"" + SiteConfig.YouTubePlayerID + "\" };"); > string ytUrl = SiteConfig.YouTubeUrl.Replace("PLAYER_ID", > SiteConfig.YouTubePlayerID).Replace("VIDEO_ID", videoID); > sb.AppendLine("swfobject.embedSWF(\"" + ytUrl + "\","); > sb.AppendLine("\t\t\"ytapiplayer\", \"853\", \"510\", \"8\", null, null, > params, atts);"); > sb.AppendLine("function ytStop() {"); > sb.AppendLine("\tvar player = document.getElementById(\""+ > SiteConfig.YouTubePlayerID +"\");"); > sb.AppendLine("\tplayer.stopVideo();"); > sb.AppendLine("\tplayer.clearVideo();"); > sb.AppendLine("}"); > sb.AppendLine("</script>"); > this.ClientScript.RegisterClientScriptBlock(typeof(Page), "jsYouTube", > sb.ToString());} > } > > See it athttp://mazuma360.com/youtubevideo.aspx > Then on page which shows the video in the modal popup, inside the panel that > pops up I have an iframe and a close button. > <asp:Panel ID="pnYouTubeVideos" runat="server" cssclass="modalPopup" > > <table border="1" width="860"> > <tr><td> > <iframe id="frmYT" name="frmYT" align="middle" runat="server" > frameborder="0" height="530" width="860" scrolling="no"></iframe></td></tr> > <tr align="center"><td><table align="center"><tr><td><asp:LinkButton > ID="lnkClose" runat="server" CssClass="button" OnClientClick="ytClose(); > return false;"><span>Close > Window</span></asp:LinkButton></td></tr></table></td></tr> > </table> > </asp:Panel> > Note the panel can't have a style="display:none;" or the iframe won't been > seen by javascript. The iframes src can't be set at page load, ie9 has > issues. > The following javascript is used to show the video > function ytPopUp(videoID) { > var frameYT = document.getElementById('mainContents_frmYT'); > frameYT.src = "/YouTubeVideo.aspx" + "?VideoID=" + videoID; > var modalPopupBehavior = $find('mpeYouTubeVideosBehavior'); > modalPopupBehavior.show();} > > The following javascript stop and clears the video ytStop on the > youtubeVideo.aspx page. Then the modal popup is hidden. > function ytClose() { > document.getElementById('mainContents_frmYT').contentWindow.ytStop(); > var modalPopupBehavior = $find('mpeYouTubeVideosBehavior'); > modalPopupBehavior.hide();} > > See here:http://mazuma360.com/games.aspx?ConsoleID=1&GameID=1 > Hope this helps. > > > > On Tue, May 3, 2011 at 7:03 PM, Aran Rhee <[email protected]> wrote: > > I am wondering if this is a cross post in regards to the site: > >http://mazuma360.com/games.aspx?ConsoleID=1&GameID=1? > > > (notice the same stop code from that thread). > > > If so, I noticed that the YouTube player was actually throwing a runtime > > error: > > > TypeError: Error #1009: Cannot access a property or method of a null object > > reference. > > at com.google.ads.templates.overlay::OverlayFlashTemplate/destroy() > > at AbstractOverlayTemplate/stopAd() > > at com.google.ads.templates::TemplateLoader/destroy() > > at com.google.ads.templates::TemplateContainer/destroy() > > at com.google.ads.templates::TemplateContainer/stopAd() > > at com.google.ads.templates::TemplateContainer/onStopAdRequest() > > at flash.events::EventDispatcher/dispatchEventFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at > > com.google.ads.instream.formats.templates.ui::TemplateAdUi/fireTemplateSharedEvent() > > at > > com.google.ads.instream.formats.templates.ui::TemplateAdUi/disposeContainer() > > at com.google.ads.instream.formats.templates.ui::TemplateAdUi/dispose() > > at > > com.google.ads.instream.formats.common.ui::AbstractAdSenseVPAIDAdUi/stopAd() > > at com.google.ads.instream.formats.common::VPAIDAdImpl/stopAd() > > at com.google.ads.instream.formats.common::VPAIDAdsManagerImpl/unload() > > at AdsManagerWrapper/unload() > > at > > com.google.youtube.modules.ad.display::AfvInvideoAdDisplayState/destroy() > > at com.google.youtube.modules.ad::AdSlot/destroyDisplayState() > > at com.google.youtube.modules.ad::AdSlot/destroy() > > at com.google.youtube.modules.ad::AdBreak/destroyAdSlot() > > at com.google.youtube.modules.ad::AdBreak/destroyAdSlots() > > at com.google.youtube.modules.ad::AdBreak/destroy() > > at com.google.youtube.modules.ad::AdPlaylist/destroyBreak() > > at com.google.youtube.modules.ad::AdPlaylist/destroy() > > at com.google.youtube.modules.ad::AdModule/destroy() > > at com.google.youtube.modules::ModuleHost/unload() > > at com.google.youtube.modules::ModuleHost/unregisterAll() > > at com.google.youtube.application::VideoApplication/unloadModules() > > at > > com.google.youtube.application::WatchPageVideoApplication/unloadModules() > > at com.google.youtube.application::VideoApplication/prepareVideo() > > at com.google.youtube.application::VideoApplication/stopVideo() > > at Function/http://adobe.com/AS3/2006/builtin::apply() > > at flash.external::ExternalInterface$/_callIn() > > at Function/<anonymous>() > > > This could cause the audio not to stop if it is not killing off processes > > as it should. > > > Regardsless, you should first ensure your method is actually being called > > by IE by putting in a alert or something at the beginning of your JS > > function. At least you can then verify you are getting "out of Flash" and > > "into js"... > > > Basically, try to reduce the scope of your issue. > > > Aran > > > On Tue, May 3, 2011 at 3:24 PM, jb <[email protected]> wrote: > > >> Aran, > > >> Thanks so much, but same thing happens. Works great in Firefox, IE 7 > >> & 8 continue to play the audio after closing the popup. > > >> jb > > >> On May 2, 11:08 am, Aran Rhee <[email protected]> wrote: > >> > Hmmm. > > >> > Now I am not 100% on this (been a while since I did any EI work), but I > >> > think you might need to set both the name AND id in the attributes > >> values > >> > for ExternalInterface methods to work cross browser. > > >> > (here is an example of all working communication methods using > >> swfobject: > >>http://www.bobbyvandersluis.com/swfobject/testsuite_2_2/test_dynamic_...) > > >> > - I'd also set the div id for replacement in embedswf to the id name > >> > you actually want for EI (just to be sure) > >> > - I'd pass vars as part of the flashvars object for caching and > >> cleanliness > >> > reasons > >> > - I'd do some extra checking on the availability of the methods as > >> wellas > >> > the object in your stopVideo function > > >> > <script type="text/javascript"> > >> > var flashvars = {enablejsapi: 1, playerapiid: "myytplayer"}; > >> > var params = { allowScriptAccess: "always" }; > >> > var atts = { id: "myytplayer", name: "myytplayer" }; > >> > swfobject.embedSWF("http://www.youtube.com/e/GtHDrLngXlc", > >> "myytplayer", > >> > "425", "344", "8", false, flashvars, params, atts); > > >> > function stopVideo() > >> > { > >> > var playerObj = document.getElementById("myytplayer"); > >> > if (playerObj && playerObj.stopVideo != "undefined" && > >> > playerObj.clearVideo != "undefined") > >> > { > >> > playerObj.stopVideo(); > >> > playerObj.clearVideo();} > >> > } > > >> > </script> > > >> > Cheers, > >> > Aran > > >> > On Mon, May 2, 2011 at 9:16 AM, jb <[email protected]> wrote: > >> > > I'm using asp.net and am trying to have a modalPopupExtender box > >> > > appear and when someone clicks on an image, a YouTube video will play > >> > > in that modalPopup. Have that all working great - loads video, etc. > >> > > I added the enablejsapi=1&version=3&playerapiid=ytplayer to the movie > >> > > and embed parameters and then added the following in javascript (also > >> > > tried just separately). Now it will close in Netscape, but IE 7 and 8 > >> > > ignore it. Any ideas for IE - your help is appreciated? > > >> > > function stop() { > >> > > var playerObj = document.getElementById("ytPlayer"); > >> > > if (playerObj) { > >> > > playerObj.stopVideo(); > >> > > playerObj.clearVideo(); > >> > > } > >> > > } > > >> > > I then thought I had to add the whole swfObject to get this to work, > >> > > so I downloaded and referenced as follows - same thing. > > >> > > <script src="../swfObject/swfobject.js" type="text/javascript"></ > >> > > script> > > >> > > <script type="text/javascript"> > > >> > > var params = { allowScriptAccess: "always" }; > >> > > var atts = { id: "myytplayer" }; > >> > > swfobject.embedSWF("http://www.youtube.com/e/GtHDrLngXlc? > >> > > enablejsapi=1&playerapiid=myytplayer", > >> > > "ytapiplayer", "425", "344", "8", null, null, > >> > > params, atts); > > >> > > </script> > >> > > <script type="text/javascript" language="javascript"> > >> > > function stopVideo() { > >> > > var playerObj = document.getElementById("myytplayer"); > >> > > if (playerObj) { > >> > > playerObj.stopVideo(); > >> > > playerObj.clearVideo(); > > >> > > } > >> > > } > > >> > > <asp:ImageButton ID="imgBtnAmanda" runat="server" > >> > > ImageAlign="Middle" ImageUrl="~/media/quality/devMedAmanda.jpg" /> > >> > > <asp:Panel ID="pnlAmanda" runat="server" > > ... > > read more »- Hide quoted text - > > - Show quoted text - -- You received this message because you are subscribed to the Google Groups "SWFObject" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/swfobject?hl=en.
