Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 VideoJS Swf删除右键单击菜单_Actionscript 3_Video.js - Fatal编程技术网

Actionscript 3 VideoJS Swf删除右键单击菜单

Actionscript 3 VideoJS Swf删除右键单击菜单,actionscript-3,video.js,Actionscript 3,Video.js,我想禁用上下文菜单,我从未使用过actionscript,经过一些搜索后,我找到了禁用上下文菜单的代码: stage.addEventListener(MouseEvent.RIGHT_CLICK, function(e:MouseEvent):void {}); stage.addEventListener(MouseEvent.CONTEXT_MENU, function(e:MouseEvent):void {}); Mouse.hide(); 我想知道如何在VideoJS.as中应用

我想禁用上下文菜单,我从未使用过actionscript,经过一些搜索后,我找到了禁用上下文菜单的代码:

stage.addEventListener(MouseEvent.RIGHT_CLICK, function(e:MouseEvent):void {});
stage.addEventListener(MouseEvent.CONTEXT_MENU, function(e:MouseEvent):void {});

Mouse.hide();
我想知道如何在VideoJS.as中应用它

下面是ActionScript中的源代码

“我发现这段代码用于禁用上下文菜单…我想知道如何在
VideoJS.as
中应用它。”

打开。。。查找以下代码(第57行之后):


改成

// add content-menu version info

/*
var _ctxVersion:ContextMenuItem = new ContextMenuItem("VideoJS Flash Component v" + VERSION, false, false);
var _ctxAbout:ContextMenuItem = new ContextMenuItem("Copyright © 2014 Brightcove, Inc.", false, false);
var _ctxMenu:ContextMenu = new ContextMenu();
_ctxMenu.hideBuiltInItems();
_ctxMenu.customItems.push(_ctxVersion, _ctxAbout);
this.contextMenu = _ctxMenu;
*/

this.addEventListener(MouseEvent.RIGHT_CLICK, function(e:MouseEvent):void {});
this.addEventListener(MouseEvent.CONTEXT_MENU, function(e:MouseEvent):void {});
现在尝试编译VideoJS的新SWF输出。如果工作正常,右键单击时应该没有响应。上面的代码未经测试(没有时间),但它是正确的代码逻辑


让我知道这是否是一个有效的解决方案。

您如何在项目中使用VideoJS类?您想调整VideoJS.as还是在项目代码中?@FrédericCox我正在使用
grunt mxmlc
并编译SWF文件。但是如何在代码中实例化VideoJS类?如果您执行类似var videoJS:videoJS=new videoJS()的操作;然后,为rightClick和contextMenu添加eventlisteners,并使用evt.preventDefault或设置一个空的自定义contextMenu。那可能行得通。如果你有一个代码示例可以帮助我测试代码。它很好用。因此,您对您的问题有了正确的答案,因为关于在
.as
文件中更改代码的位置。请将其标记为已解决,并就任何其他问题提出新问题(您的新错误与您的MXMLC编译器设置有关,我的答案或视频JS没有任何错误)…您收到这些错误是因为在FlashPlayer 11.2之后添加了允许
上下文菜单
右键单击
的AS3更新。您的编译器可能正在为较旧的Flash Player版本生成输出(swf)。我用FlashIDE测试了这个问题,只有当我选择输出到一些较旧的SWF版本(即10.1版)时,我才会得到完全相同的错误。我不使用Grunt MXMLC,但如果它使用FLEX SDK,只需转到它的安装文件夹并找到这些文件夹
Frameworks\Libs\Player
现在在
Player
文件夹中看到了什么?(应该是以Flash Player版本作为名称的子文件夹)。
// add content-menu version info

/*
var _ctxVersion:ContextMenuItem = new ContextMenuItem("VideoJS Flash Component v" + VERSION, false, false);
var _ctxAbout:ContextMenuItem = new ContextMenuItem("Copyright © 2014 Brightcove, Inc.", false, false);
var _ctxMenu:ContextMenu = new ContextMenu();
_ctxMenu.hideBuiltInItems();
_ctxMenu.customItems.push(_ctxVersion, _ctxAbout);
this.contextMenu = _ctxMenu;
*/

this.addEventListener(MouseEvent.RIGHT_CLICK, function(e:MouseEvent):void {});
this.addEventListener(MouseEvent.CONTEXT_MENU, function(e:MouseEvent):void {});