Sign in to follow this  
radmir745

Как закрыть CEF

Recommended Posts

Тут два варианта: закрыть с помощью ::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

 

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

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

 

Edited by Vadlmok

Share this post


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

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

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

 

Share this post


Link to post
Share on other sites
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
В 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.