Sign in to follow this  
radmir745

Как закрыть CEF

Recommended Posts

kostya_nad    4

Тут два варианта: закрыть с помощью ::destroy()

let cef = mp.browsers.new('https://rage.mp/'); // открываешь
cef.destroy(); // закрываешь

Либо 2ой,

let cef = mp.browsers.new('https://rage.mp/'); // открываешь
cef.execute(`document.getElementsByTagname("body")[0].style.display="none"`); // закрываешь
/*вообще можно проделать то же самое с помощью jQuery, но если не понимаешь, что это - делай так*/

 

Edited by kostya_nad
  • Like 1

Share this post


Link to post
Share on other sites
radmir745    0

 

16 часов назад, kostya_nad сказал:

Тут два варианта: закрыть с помощью ::destroy()

let cef = mp.browsers.new('https://rage.mp/'); // открываешь
cef.destroy(); // закрываешь

Либо 2ой,

let cef = mp.browsers.new('https://rage.mp/'); // открываешь
cef.execute(`document.getElementsByTagname("body")[0].style.display="none"`); // закрываешь
/*вообще можно проделать то же самое с помощью jQuery, но если не понимаешь, что это - делай так*/

 

Пишет ошибку

Edited by radmir745

Share this post


Link to post
Share on other sites
Vadlmok    1

cef.destroy(); иногда выдаёт ошибку, так что лучше просто блоки скрывай

 

Edited by Vadlmok

Share this post


Link to post
Share on other sites
kemperrr    141
4 часа назад, Vadlmok сказал:

cef.destroy(); иногда выдаёт ошибку, так что лучше просто блоки скрывай

 

он может выдавать ошибку только тогда, когда переменная больше не является МПшным объектом

Share this post


Link to post
Share on other sites
Vadlmok    1
1 минуту назад, kemperrr сказал:

он может выдавать ошибку только тогда, когда переменная больше не является МПшным объектом

Точняк) Я создал переменную let,а дистрой в другом файле), вот почему у меня ошибка была постоянно)))

 

Share this post


Link to post
Share on other sites

 

В 11.11.2017 в 18:44, radmir745 сказал:

Как закрыть CEF?

class cef {
     constructor(resourcePath) {
       this.path = resourcePath;
       this.state = false;
     }

  show() {
    if ( this.state === false ) {
      this.state = true;

      this.browser = mp.browsers.new(this.path);
    }
  }

  destroy() {
    this.state = false;
    mp.browsers.destroy(this.browser);
  }
};


let ui;

mp.events.add('guiReady', () => {
      if (!ui) {
        ui = new cef('package://folder/folder/file.html');
        ui.show();
          mp.events.add('browserDomReady', (browser) => {
            if ( browser === ui ) {
              require('ui/events.js');
            }
          });
      } else {
        ui.destroy();
      }
});

 

Share this post


Link to post
Share on other sites
radmir745    0
18 минут назад, Paulo Vanetti сказал:

 

class cef {
     constructor(resourcePath) {
       this.path = resourcePath;
       this.state = false;
     }

  show() {
    if ( this.state === false ) {
      this.state = true;

      this.browser = mp.browsers.new(this.path);
    }
  }

  destroy() {
    this.state = false;
    mp.browsers.destroy(this.browser);
  }
};


let ui;

mp.events.add('guiReady', () => {
      if (!ui) {
        ui = new cef('package://folder/folder/file.html');
        ui.show();
          mp.events.add('browserDomReady', (browser) => {
            if ( browser === ui ) {
              require('ui/events.js');
            }
          });
      } else {
        ui.destroy();
      }
});

 

Я понял и-за чего у меня появлялась ошибка

Share this post


Link to post
Share on other sites
kostya_nad    4
В 13.11.2017 в 14:58, Vadlmok сказал:

cef.destroy(); иногда выдаёт ошибку, так что лучше просто блоки скрывай

 

Надо проверять, является ли переменная cef объектом CEF:

let cef=mp.browsers.new('https://rage.mp/'); // открываешь CEF
if(cef)cef.destroy(); // если CEF эквивалентна true, то закрываем CEF
/*Любой объект (если он не пустой вроде) эквивалентен true. После ::destroy() переменная либо равна null, либо false, я не помню точно*/
else mp.gui.chat.push("СЕФ не существует!");

 

В 13.11.2017 в 20:00, Vadlmok сказал:

Точняк) Я создал переменную let,а дистрой в другом файле), вот почему у меня ошибка была постоянно)))

 

 

В 13.11.2017 в 13:11, radmir745 сказал:

 

Пишет ошибку

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.