述べたように:OCX PTZ呼び出し命令及び送信指示がマウスダウンのmouseup操作を使用すると、エンド・コマンドには、効果の問題がありません(ビデオプレーヤーをしてrequireJSを取得したパッケージは正常です)。
プロジェクトrequireJSカプセル化ビデオコントロールで使用されるが、この命令で呼び出しが常に問題を抱えている、分析とテストで見つけました:
- マウスダウンのmouseup間隔とわずか100ミリ秒へ
- OCXの方法は、直接説明OCXのコンテキストを離れることができない、要求を呼び出すことができます
- マウスダウンとのmouseup要因は、実行を妨げるとの間で事件のいくつかの並べ替えが存在しなければならない(時間、空間、何でも可能です)
パッケージrequireJS
以下の方法requrejsパッケージの呼び出し:
/* $("#yt_direction_top").on('mousedown',function(){
upstart();
}); */
function upstart(){
require(['videoStart'],function(video){
video.upstart();
});
}
/* $("#yt_direction_top").on('mouseup',function(){
upstop();
}); */
function upstop(){
require(['videoStart'],function(video){
video.upstop();
});
}
/* $("#yt_direction_bottom").on('mousedown',function(){
downstart();
}); */
function downstart(){
require(['videoStart'],function(video){
video.downstart();
});
}
/* $("#yt_direction_bottom").on('mouseup',function(){
downstop();
}); */
function downstop(){
require(['videoStart'],function(video){
video.downstop();
});
}
/* $("#yt_direction_left").on('mousedown',function(){
leftstart();
}); */
function leftstart(){
require(['videoStart'],function(video){
video.leftstart();
});
}
/* $("#yt_direction_left").on('mouseup',function(){
leftstop();
}); */
function leftstop(){
require(['videoStart'],function(video){
video.leftstop();
});
}
/* $("#yt_direction_right").on('mousedown',function(){
rightstart();
}); */
function rightstart(){
require(['videoStart'],function(video){
video.rightstart();
});
}
/* $("#yt_direction_right").on('mouseup',function(){
rightstop();
}); */
function rightstop(){
require(['videoStart'],function(video){
video.rightstop();
});
}
/* $("#yt_zoom_add").on('mousedown',function(){
ZOOMstart();
}); */
function ZOOMstart(){
require(['videoStart'],function(video){
video.ZOOMstart();
});
}
/* $("#yt_zoom_add").on('mouseup',function(){
ZOOMstop();
}); */
function ZOOMstop(){
require(['videoStart'],function(video){
video.ZOOMstop();
});
}
/* $("#yt_zoom_reduce").on('mousedown',function(){
REDUCEZOOMstart();
}); */
function REDUCEZOOMstart(){
require(['videoStart'],function(video){
video.REDUCEZOOMstart();
});
}
/* $("#yt_zoom_reduce").on('mouseup',function(){
REDUCEZOOMstop();
}); */
function REDUCEZOOMstop(){
require(['videoStart'],function(video){
video.REDUCEZOOMstop();
});
}
/* $("#yt_focus_add").on('mousedown',function(){
FOCUSstart();
}); */
function FOCUSstart(){
require(['videoStart'],function(video){
video.FOCUSstart();
});
}
/* $("#yt_focus_add").on('mouseup',function(){
FOCUSstop();
}); */
function FOCUSstop(){
require(['videoStart'],function(video){
video.FOCUSstop();
});
}
/* $("#yt_focus_reduce").on('mousedown',function(){
REDUCEFOCUSstart();
}); */
function REDUCEFOCUSstart(){
require(['videoStart'],function(video){
video.REDUCEFOCUSstart();
});
}
/* $("#yt_focus_reduce").on('mouseup',function(){
REDUCEFOCUSstop();
}); */
function REDUCEFOCUSstop(){
require(['videoStart'],function(video){
video.REDUCEFOCUSstop();
});
}
/* $("#yt_aperture_add").on('mousedown',function(){
APERTUREstart();
}); */
function APERTUREstart(){
require(['videoStart'],function(video){
video.APERTUREstart();
});
}
/* $("#yt_aperture_add").on('mouseup',function(){
APERTUREstop();
}); */
function APERTUREstop(){
require(['videoStart'],function(video){
video.APERTUREstop();
});
}
/* $("#yt_aperture_reduce").on('mousedown',function(){
REDUCEAPERTUREstart();
}); */
function REDUCEAPERTUREstart(){
require(['videoStart'],function(video){
video.REDUCEAPERTUREstart();
});
}
/* $("#yt_aperture_reduce").on('mouseup',function(){
REDUCEAPERTUREstop();
}); */
function REDUCEAPERTUREstop(){
require(['videoStart'],function(video){
video.REDUCEAPERTUREstop();
});
}
OCX HTMLページと呼ばれるピュア
同じページ上の<オブジェクト>コントロールの宣言通話を以下に示します。
function getChannelId(){
return mini.get("CHANNEL_LIST").getValue();
}
function upstart() {
//第二个参数 1 上 1下 2 左 3 右 4
var Res = ocx.PTZControl(getChannelId(), 1, 6, 0);
}
function upstop() {
var Res = ocx.PTZControl(getChannelId(), 1, 6, 1);
}
function downstart() {
var Res = ocx.PTZControl(getChannelId(), 1, 6, 0);
}
function downstop() {
var Res = ocx.PTZControl(getChannelId(), 1, 6, 1);
}
function leftstart() {
var Res = ocx.PTZControl(getChannelId(), 2, 6, 0);
}
function leftstop() {
var Res = ocx.PTZControl(getChannelId(), 2, 6, 1);
}
function rightstart() {
var Res = ocx.PTZControl(getChannelId(), 3, 6, 0);
}
function rightstop() {
var Res = ocx.PTZControl(getChannelId(), 3, 6, 1);
}
function ZOOMstart() {
var Res = ocx.PTZControl(getChannelId(), 8, 6, 0);
}
function ZOOMstop() {
var Res = ocx.PTZControl(getChannelId(), 8, 6, 1);
}
function REDUCEZOOMEstart() {
var Res = ocx.PTZControl(getChannelId(), 11, 6, 0);
}
function REDUCEZOOMstop() {
var Res = ocx.PTZControl(getChannelId(), 11, 6, 1);
}
function FOCUSstart() {
var Res = ocx.PTZControl(getChannelId(), 9, 6, 0);
}
function FOCUSstop() {
var Res = ocx.PTZControl(getChannelId(), 9, 6, 1);
}
function REDUCEFOCUSEstart() {
var Res = ocx.PTZControl(getChannelId(), 12, 6, 0);
}
function REDUCEFOCUSstop() {
var Res = ocx.PTZControl(getChannelId(), 12, 6, 1);
}
function APERTUREstart() {
var Res = ocx.PTZControl(getChannelId(), 10, 6, 0);
}
function APERTUREstop() {
var Res = ocx.PTZControl(getChannelId(), 10, 6, 1);
}
function REDUCEAPERTUREstart() {
var Res = ocx.PTZControl(getChannelId(), 13, 6, 0);
}
function REDUCEAPERTUREstop() {
var Res = ocx.PTZControl(getChannelId(), 13, 6, 1);
}
function startTalk() {
var Res = ocx.TalkControl(getChannelId(), 0);
}
function stopTalk() {
var Res = ocx.TalkControl(getChannelId(), 1);
}
解決策:ページ上で直接呼ばれるこのセクションの離脱とマウスダウンのmouseUp方法は、再カプセル化プロセスには必要ありません。