如何在Silverlight中启用全屏模式时点击视频?

时间:2014-07-23 15:46:54

标签: javascript jquery silverlight

我想在用户点击视频时执行某些操作。当全屏模式关闭时,所有操作都很顺利但是当全屏模式打开时,点击事件不会被触发。谁能告诉我为什么会这样呢?

这是我的代码。

var obj = "<object id=\"video\" data=\"data:application/x-silverlight-2,\" type=\"application/x-silverlight-2\" width=\"" + width1 + "%\" height=\"" + height1 + "%\">" +
            "<param name=\"onLoad\" value=\"pluginLoad\" />" +
            "<param name=\"source\" value=\"player.xap\"/>" +
            "<param name=\"initParams\" value=\"sourceurl=" + url + "\" />" +
            "</object>";

和jQuery代码是

$("body").on("mouseup", "#video", function (){
   console.log("clicked");
});

当我点击视频并关闭全屏模式时,&#34;点击&#34;正在打印但是当全屏模式打开并且我点击时,什么也没发生。我的代码有问题吗?

由于

1 个答案:

答案 0 :(得分:0)

您在这里处理两种技术。您的Web应用程序(HTML,CSS,JS)在HTML-Object元素中包含嵌入式视频播放器。无论何时单击该元素,都会发生定义的单击事件!内容无关紧要。

如果切换到插件的“本机”全屏模式,则已离开定义的DOM单击事件的上下文。

现在,您的Silverlight组件必须通过“托管代码”处理您的所有点击。

我认为你现在有2个选择:

  1. 使用Silverlight HTML网桥。 http://msdn.microsoft.com/en-us/library/cc645076(v=vs.95).aspx

    这意味着:在silverlight代码中注册您的点击事件并从那里调用JS函数

  2. 使用HTML5全屏模式(https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode)并将silverlight组件拉伸至100%的高度和宽度。

  3. 此致 罗尔夫