Jump to content

Вопрос по поводу Cef, Client-Side


Vadlmok

Recommended Posts

Добрый день форумчане.
При написании формы, возник вопрос: "Как сделать, чтобы с Cef при нажатии на кнопку, отправлялся запрос на index.js, который находится в client_packages?".
Спасибо за ответ =)

Link to comment
Share on other sites

22 минуты назад, kemperrr сказал:

HTML ( CEF )

 


<html>
  <head>
  </head>
  
  <body>
    <form id="form-id">
  	  <button id="your-id">submit</button>
	</form>
  </body>
  
  <script>
    window.addEventListener("DOMContentLoaded", () => {
      let form = document.getElementById("form-id");

	  document.getElementById("your-id").addEventListener("click", () => {
        let jsonObject = { name: "kemperrr", password: "123456_lol" }
  		mp.trigger("buttonClicked", "HAHAHAHAHHA", 12345, JSON.stringify(jsonObject));
	  });
	});
  </script>

</html>

Client-side


mp.events.add("buttonClicked", (str, num, strJSON) => {
	let parsedJSON = JSON.parse(strJSON);
  	mp.game.graphics.notify(`Name : ${parsedJSON.name} Password : ${parsedJSON.password}`);
  	
  	mp.events.callRemote("serverButtonClicked", str, num, strJSON);
});

Server-side


mp.events.add("serverButtonClicked", (str, num, strJSON) => {
  let parsedJSON = JSON.parse(strJSON);
  console.log(str, num, parsedJSON); // -> "HAHAHAHAHHA", 12345, { name: "kemperrr", password: "123456_lol" }
});

 

Спасибо за ответ. Вопрос: "Обязательно ли использоваться Json?"

Link to comment
Share on other sites

4 часа назад, kemperrr сказал:

Да, ибо JS объекты передать нельзя

Спасибо большое!

Я сделал слегка по другому 
 

<script type="text/javascript">
  function btnClick() { mp.trigger('eventCef', $("#email").val(), $("#pass").val()); }	
</script>

потом отправляю текст на серверную часть и норм всё работает, не понимаю о каких объектах ты говоришь. Может в дальнейшем столкнусь

Link to comment
Share on other sites

1 минуту назад, kemperrr сказал:

Почитай - https://learn.javascript.ru/object
советую сразу вникнуть в них, потому что эти объекты очень упрощают работу и вот пример сразу же


//Плохой пример
let playerInfo = [];

mp.events.add("playerJoin", (player) => {
  playerInfo[player.id].password = "123456";
  playerInfo[player.id].lvl = 1;
});

mp.events.addCommand("testInfo", (player) => {
  console.log(playerInfo[player.id].password, playerInfo[player.id].lvl);
});

//Хороший пример 
mp.events.add('playerJoin', (player) => {
  player.info = {
    password: "123456",
    lvl: 1
  };
});

mp.events.addCommand("testInfo", (player) => {
  console.log(player.info.password, player.info.lvl);
});

 

Есть такое подобное в Pawn enum называется, спасибо, я учту

Link to comment
Share on other sites

Только что, kemperrr сказал:

Именно от enum я и хотел тебя избавить)

:D 
Понял, буду юзать это) Json сразу идёт же или подключать нужно? А то я подзабыл)

Link to comment
Share on other sites

Только что, kemperrr сказал:

JSON стандартно поддерживается JS

Понял. 
Ещё вопрос, в дальнейшем будет ли шифрование файлов скачанные с сервера или нужно самому какой нибудь костыль делать?

я про клиентскую часть

 

Link to comment
Share on other sites

  • 3 months later...
14 часа назад, Lotswaride сказал:

Почему-то выдает в логах:


{ setVariable [Function], call: [Function] }

где должно быть 


 { name: "kemperrr", password: "123456_lol" }

Первый аргумент в событиях на сервере всегда объект Player, скорее всего этот объект вывелся, вместо ожидаемого.

Edited by WampiR
  • Like 1
Link to comment
Share on other sites

14 минуты назад, WampiR сказал:

Первый аргумент в событиях на сервере всегда объект Player, скорее всего этот объект вывелся, вместо ожидаемого.

спасибо!

Link to comment
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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...