Sign in to follow this  
Vadlmok

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

Recommended Posts

Vadlmok    1

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

Share this post


Link to post
Share on other sites
kemperrr    141

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" }
});

 

Share this post


Link to post
Share on other sites
Vadlmok    1
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?"

Share this post


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

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

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

  • Like 1

Share this post


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

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

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

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

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

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

Share this post


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

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

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

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

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

Почитай - 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);
});

 

Edited by kemperrr

Share this post


Link to post
Share on other sites
Vadlmok    1
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 называется, спасибо, я учту

Share this post


Link to post
Share on other sites
kemperrr    141
Только что, Vadlmok сказал:

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

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

Share this post


Link to post
Share on other sites
Vadlmok    1
Только что, kemperrr сказал:

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

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

Share this post


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

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

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

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.