Event Listeners

์†Œ๊ฐœ

์œ„์ ฏ์—์„œ App์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ๋•Œ ๋™์ž‘ ํ•˜๋Š” ํ•จ์ˆ˜๋“ค ์ž…๋‹ˆ๋‹ค.

์ด๋ฆ„์„ค๋ช…

onMessage

์œ„์ ฏ์—์„œ App์œผ๋กœ ๋ณด๋‚ธ ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹  ํ•  ๋•Œ ๋™์ž‘ํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.

๐Ÿ“š API ์„ค๋ช… ๋ฐ ์˜ˆ์ œ

onMessage

widget.onMessage.Add(function(player, data: any){});

์œ„์ ฏ์—์„œ App์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋ฉด callback ํ•จ์ˆ˜๊ฐ€ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ๋ผ๋ฏธํ„ฐ

์ด๋ฆ„ํƒ€์ž…์„ค๋ช…

player

Player

player๋Š” ์œ„์ ฏ์„ ์†Œ์œ ํ•œ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ๊ฐ€๋ฅดํ‚ด player ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ด๋ฆ„์€ ์ž„์˜๋กœ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ

data

Object

data๋Š” ์œ„์ ฏ์—์„œ App์œผ๋กœ ๋ณด๋‚ธ ๋ฉ”์‹œ์ง€๋ฅผ ๊ฐ€๋ฅดํ‚ด data ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ด๋ฆ„์€ ์ž„์˜๋กœ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ

์˜ˆ์ œ

x ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์„œ ์œ„์ ฏ์ฐฝ ๋‹ซ๋Š” ๊ธฐ๋Šฅ ๋งŒ๋“ค์–ด๋ณด๊ธฐ

// ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์ž…์žฅํ•  ๋•Œ ๋™์ž‘ํ•˜๋Š” ํ•จ์ˆ˜
App.onJoinPlayer.Add(function (player) {
	player.tag = {
		widget: null,
	};

	player.tag.widget = player.showWidget("sample.html.html", "top", 600, 500);
	player.tag.widget.onMessage.Add(function (player, msg) {
		// ์œ„์ ฏ์—์„œ App์œผ๋กœ 'type: close'๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋ฉด ์œ„์ ฏ์„ ํŒŒ๊ดดํ•จ
		if (msg.type == "close") {
			player.showCenterLabel("์œ„์ ฏ์ด ๋‹ซํ˜”์Šต๋‹ˆ๋‹ค.");
			player.tag.widget.destroy();
			player.tag.widget = null;
		}
	});
});

sample.html: ๋ฒ„ํŠผ๊ณผ ์Šคํฌ๋ฆฝํŠธ ๋ถ€๋ถ„

<i onclick="closeWidget()" class="fa-solid fa-xmark"></i>
<script type="text/javascript">
	// x ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜
	function closeWidget() {
		// App์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒ„.
		window.parent.postMessage(
			{
				type: "close",
			},
			"*"
		);
	}
</script>

๋ถ€๋ก

์œ„์ ฏ์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ๋ฌธ๋ฒ•

Last updated