You have English selected as language but this page has not been translated yet. Translate the page or view the content in the default space language below.
Display default์์ํ๊ธฐ
Step 1 = Set Up
๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ค์ด๋ก๋
W Player API lib๋ฅผ ๋ค์ด๋ก๋ํ์ธ์.
Web Author์์ ์น ์ฝํ ์ธ ์์ฑ ์ค์ ํ๊ธฐ
W Player API ์ฌ์ฉ์ ์ํด ํ์ํ ์น ์ฝํ ์ธ ์์์ ๋ํ ์ค์ ์ ์ํํ์ธ์. ์์ธํ ๋ด์ฉ์ ๋ค์์ ์ฐธ๊ณ ํ์ธ์. โถ Web Author๋ฅผ ์ฌ์ฉํด ์ฝํ ์ธ ์ ์ํ๊ธฐ
Step 2 = Code ์์ฑ
์ ๊ณต๋๋ W Player API๋ก ๋ค์ํ ์์ฉ ์น ์ฝํ ์ธ ์์ ๊ตฌํ์ฉ code๋ฅผ ์์ฑํ์ธ์. ์์ธํ ๋ด์ฉ์ '์ฝ๋ ์์ ' ๋ด์ฉ์ ์ฐธ๊ณ ํ์ธ์.
Step 3 = ์ ๋ก๋ ๋ฐ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ(Preview) (UDP ์๋ฎฌ๋ ์ด์ ํฌํจ)
Step 4 = ์ค์ผ์ค ๋ฐฐํฌ(๋ก๊ทธ ์์ง) ์์ธํ ๋ด์ฉ์ ๋ค์์ ์ฐธ๊ณ ํ์ธ์. โถ ์ ์ฉํ ๊ธฐ๋ฅ
W Player API Reference
$wp
$wp๋ W Player API์ ๋ชจ๋ ์ธํฐํ์ด์ค (content, device, local, utility, callback)๋ฅผ ํฌํจํ๋ ๋ค์์คํ์ด์ค(Namespace)์ ๋๋ค.
setDefaultCallback()
- ์ค๋ช : W Player๋ก๋ถํฐ ์ด๋ฒคํธ(Event)๋ฅผ ์ ๋ฌ๋ฐ๋ ๋ฆฌ์ค๋(Listener)๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. Life cycle์ ๋ํ ์ํ ์ด๋ฒคํธ๋ฅผ ์์ ํ๊ธฐ ์ํด์๋ ์ด๊ธฐ ์์ฑ ๋จ๊ณ์ ์ถ๊ฐ๊ฐ ํ์ํฉ๋๋ค.
- ๊ตฌ๋ฌธ: function setDefaultCallback (myFunction(object));
ํ๋ผ๋ฏธํฐ: myFunction(object): ์ด๋ฒคํธ(Event)๋ ์ฝ๋ฐฑ(Callback)์ ํตํด ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ฒด(Object) ํํ๋ก ์ ๋ฌํฉ๋๋ค.
{ type: 'state', sub: 'ready', data: { /* user_data object */ } name: 'name of Web Content element', pageId: 'id' }
ํ์ด์ง(Page) ๋ด์ ๋ชจ๋ ์์๋ฅผ ๋ชจ๋ ๋ก๋(Load)ํ๋ฉด ์์ฉ ์น ์ฝํ ์ธ ์์๊ฐ W Player API๋ฅผ ์ฌ์ฉํ ์ ์๋ ์์ ์ ์ ๋ฌํฉ๋๋ค. ์์ฉ ์น ์ฝํ ์ธ ์์๋ iframe ํํ๋ก ๋ก๋(Load)ํ๋ฉฐ ํ๋ฉด์ ํ์ํ๊ธฐ ์
์ํ(Back Page Layer, ํ์ฌ ํ๋ฉด์๋ ์ด์ ์ฝํ ์ธ ๋ฅผ ์ฌ์ํ๊ณ ์๋ ์ํ)์ ๋๋ค. ํ๋ฉด์ ๋ํ๋๊ธฐ ์ ์ ํ์ํ ์ด๊ธฐํ๋ฅผ ์งํํ ์ ์์ต๋๋ค.data: { /* user_data object */ }
user_data๋ ready ์ํ์์ ์ด๊ธฐํ์ ์ด์ฉ ๊ฐ๋ฅ ํฉ๋๋ค. (user_data๋ getProperty ๋ฅผ ํตํด์๋ ๊ตฌํ ์ ์์ต๋๋ค.)
{ type: 'state', sub: 'play', name: 'name of Web Content element', pageId: 'id' }
์น ์ฝํ ์ธ ์์๋ฅผ ํ๋ฉด์ ํ์ํ๋ ์์ (Front Page layer)์ ์ ๋ฌํฉ๋๋ค.
{ type: 'state', sub: 'pageChanged', data: 'name of changed page', name: 'name of Web Content element', pageId: 'id' }
์ฌ์ ์ค ํ์ด์ง (Page)๊ฐ ์ ํ๋๋ ์์ ์ ์ ๋ฌํฉ๋๋ค.(๋จ, ์น ์ฝํ ์ธ ๊ฐ ๊ณตํต ํ์ด์ง์ ์ํด ์์ ๊ฒฝ์ฐ์๋ง ๋์ํฉ๋๋ค.)
data๋ก ์ ๋ฌ๋๋ pageName ์ ํตํด ์ด๋ค page ๊ฐ ์ ํ๋์๋์ง ํ์ธ ๊ฐ๋ฅ ํฉ๋๋ค.
{ type: 'state', sub: 'stop', name: 'name of Web Content element', pageId: 'id' }
์น ์ฝํ ์ธ ์์๊ฐ ์ข ๋ฃ๋๊ธฐ ์ ์์ ์ ์ ๋ฌํฉ๋๋ค. ์น ์ฝํ ์ธ ์์ ๋ด์ ์ฌ์ฉ๋ ๋ฆฌ์์ค๋ฅผ ๋ฐํํ ์ ์์ต๋๋ค. (์: clearInterval, clearTimeout, $wp = null)
โป ์ ์์ ์ผ๋ก ๋ฐํ๋์ง ์๋ ๋ฆฌ์์ค๋ ๋ฉ๋ชจ๋ฆฌ ๋์ ๋ฐ์์ผ๋ก W Player ์ฌ์์ด ์ํฅ์ ๋ฐ์ ์ ์์ต๋๋ค.
{ type: 'error', sub: 'name of error api', data: { /* custom error object */ } }
W Player API ์คํ ์ค๋ฅ ๋๋ ๊ธฐํ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์คํ๋ฉ๋๋ค.
์ค๋ฅ์ ๋ํ ์์ธํ ์ ๋ณด๋ error object๋ฅผ ํตํด ํ์ธํ ์ ์์ต๋๋ค.
{ type: 'udp', sub: 'number of udp port', data: 'received data string from udp port' }
UDP๋ก data๊ฐ ์ ๋ฌ๋๋ฉด ์คํ๋ฉ๋๋ค.
Port ๋ฑ์ ์ค์ ์ Web Author์์ ์ ์ ์ ๊ฐ๋ฅํฉ๋๋ค.
{ type: 'datalink', sub: 'name of datalink table', data: { /* data of datalink table */ } }
Datalink์์ data๊ฐ ์ ๋ฌ๋๋ฉด ์คํ๋ฉ๋๋ค.
Datalink ์ ๋ณด์ ๋ํ ์ค์ ์ Web Author์์ ์ ์ ์ ๊ฐ๋ฅํฉ๋๋ค.
๋ฐํ๊ฐ
Type: void
์ฝ๋ ์์
$wp.setDefaultCallback(object);
๊ธฐํ
์ฃผ์ ๊ธฐ๋ฅ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ค์์ ์ฐธ๊ณ ํ์ธ์. โถ ์ํ ์ด๋ฒคํธ ์ ๋ฌ๋ฐ๊ธฐ
$wp.content
์ด ์ธํฐํ์ด์ค(Interface)๋ W Player์์ ํ์ฌ ๋ก๋(Load)๋ ํ์ด์ง(Page) ๋ฐ ์์(Element)๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ API๋ค์ ์ ๊ณตํฉ๋๋ค.
getPage()
์ค๋ช
ํ์ด์ง ๊ฐ์ฒด๋ฅผ ๋ฆฌํด(return)ํฉ๋๋ค.
์ํ ์ด๋ฒคํธ์์ ์ ๋ฌํ id๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ ฅํ์ฌ ํ์ฌ ์์ ์ด ์ํด ์๋ ํ์ด์ง(Page) ๊ฐ์ฒด๋ฅผ ์ ๋ฌ ๋ฐ์ต๋๋ค.
getElement() ํจ์๋ฅผ ํตํด ํ์ด์ง์ ๋ก๋๋ element๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
๊ตฌ๋ฌธ: function getPage(โpageIdโ);
ํ๋ผ๋ฏธํฐ
pageId: State ์์ ์ ๋ฌ๋ id ๊ฐ
๋ฐํ๊ฐ
์ฑ๊ณต: Page ๊ฐ์ฒด, ์คํจ: ํญ์ ์ฑ๊ณต
์ ํ ์ฌํญ
id ๊ฐ์ ์ ๋ ฅํ์ง ์๊ฑฐ๋ ์๋ชป๋ ๊ฐ์ด ์ ๋ ฅ๋๋ฉด, ํ์ฌ ํ๋ฉด์ ์ฌ์๋๋ page ๊ฐ์ฒด๊ฐ ์ ๋ฌ๋ฉ๋๋ค.
์ฝ๋ ์์
$wp.content.getPage(โpageIdโ);
๊ธฐํ
$wp.content.getPage(); (id ๊ฐ์ ์ ๋ ฅํ์ง ์์ผ๋ฉด ํ์ฌ ํ๋ฉด์ ์ฌ์๋๋ page ๊ฐ์ฒด๊ฐ ์ ๋ฌ๋ฉ๋๋ค.)
setProperty()
์ค๋ช : ํ์ด์ง์ ์์ฑ์ ์ค์ ํฉ๋๋ค.
๊ตฌ๋ฌธ: function setProperty (โnameโ,โvalueโ);
ํ๋ผ๋ฏธํฐ:
name: ์์ฑ๋ช
value: ์์ฑ๊ฐ
name
value
์ ํ ์ค๋ช background-color
color
value: "rgba(0, 0, 0, 1)"
๋ฐํ๊ฐ:
Type : bool
API ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ํ๋ ๊ฒฝ์ฐ : true
API ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ํ ๋์ง ์์ ๊ฒฝ์ฐ : false
์ ํ ์ฌํญ:
์ง์ํ์ง ์๋ ์์ฑ(ํ๋ผ๋ฏธํฐ์ Table์ ์์ฑ๋์ง ์์ property)์ ๋ณ๊ฒฝํ ๊ฒฝ์ฐ, W Player ์ฌ์์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
์ฝ๋ ์์ :
$wp.content.getPage(pageId).setProperty('background-color', โrgba(255, 0, 0, 1)โ));
getProperty()
์ค๋ช : ํ์ด์ง์ ์์ฑ๊ฐ์ ๊ตฌํฉ๋๋ค.
๊ตฌ๋ฌธ: function setProperty (โnameโ,โvalueโ);
ํ๋ผ๋ฏธํฐ:
name: ์์ฑ๋ช
name
๋ฐํ๊ฐ
์ ํ ์ค๋ช name
string
string
background-color
color
value: "rgba(0, 0, 0, 1)"
๋ฐํ๊ฐ
Type : ์์ ํ ์ฐธ๊ณ
API ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ํ๋ ๊ฒฝ์ฐ : ์ ์๊ฐ
API ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ํ ๋์ง ์์ ๊ฒฝ์ฐ : undefined
์ฝ๋ ์์ : $wp.content.getPage(pageId).getProperty('background-color');
getGlobalPage()
์ค๋ช : ๊ณตํต ํ์ด์ง ๊ฐ์ฒด๋ฅผ ๋ฐํํฉ๋๋ค. ์ํ ์ด๋ฒคํธ์์ ์ ๋ฌ๋ id๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ ฅํด ์์ ์ด ์ํ ๊ณตํต ํ์ด์ง๊ฐ์ฒด๋ฅผ ์ ๋ฌ๋ฐ์ต๋๋ค.
getElement() ํจ์๋ฅผ ํตํด ๊ณตํต ํ์ด์ง์ ๋ก๋๋ element๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
๊ตฌ๋ฌธ: function getGlobalPage(โpageIdโ);
ํ๋ผ๋ฏธํฐ:
pageId: ์ํ ์ด๋ฒคํธ์์ ์ ๋ฌ๋ id ๊ฐ
๋ฐํ๊ฐ
์ฑ๊ณต: ํ์ฌ์ ๊ธ๋ก๋ฒ ํ์ด์ง ๊ฐ์ฒด
์คํจ: ํญ์ ์ฑ๊ณต
์ ํ ์ฌํญ: getPage() API์ ๋ฌ๋ฆฌ ์์ฑ ๊ด๋ จ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์์ต๋๋ค.
์ฝ๋ ์์ : $wp.content.getGlobalPage(pageId);
getElement()
์ค๋ช : ํ์ด์ง๋ก๋ถํฐ name ๊ฐ์ ๊ฐ๋ element ๊ฐ์ฒด๋ฅผ ๋ฐํํฉ๋๋ค.
๊ฐ element๊ฐ ์ ๊ณตํ๋ API๋ฅผ ํตํด element๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค.
๊ตฌ๋ฌธ: function getElement(โnameโ);
ํ๋ผ๋ฏธํฐ: name: element name
๋ฐํ๊ฐ: function getElement(โnameโ);
์ฑ๊ณต: ํ์ฌ์ ๊ธ๋ก๋ฒ ํ์ด์ง ๊ฐ์ฒด
์คํจ: ํญ์ ์ฑ๊ณต
์ฝ๋ ์์ : $wp.content.getPage(pageId).getElement(โText1โ);
setProperty()
์ค๋ช : Element์ ์์ฑ์ ์ค์ ํฉ๋๋ค. element๋ง๋ค ์ง์๋๋ ์์ฑ์ ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๊ตฌ๋ฌธ: function setProperty (โnameโ,โvalueโ);
ํ๋ผ๋ฏธํฐ:
name: ์์ฑ๋ช
value: ์์ฑ๊ฐ
์ง์ element
name
value
์ ํ ์ค๋ช common (๋จ, video element๋ ์ง์ํ์ง ์์)
width
number
value ๋จ์: px
height
number
value ๋จ์: px
left
number
value ๋จ์: px
top
number
value ๋จ์: px
visibility
string
value: "visible,hidden"
opacity
number
value: 0.0~1.0
rotation
number
value: 0~360
size
Object
{width: 0, height: 0}
position
Object
{left: 0, top: 0}
image
flip-x
boolean
-
flip-y
boolean
-
source
string
file ์ ๋ ๊ฒฝ๋ก(getRootDirectory()๋ฅผ ์ฐธ์กฐํ์ฌ ์์ฑํ ์ ์์ต๋๋ค.)
flip
Object
valueObject = {x: false, y: false}
video
source
string
file ์ ๋ ๊ฒฝ๋ก(getRootDirectory()๋ฅผ ์ฐธ์กฐํ์ฌ ์์ฑํ ์ ์์ต๋๋ค.)
text
font-size
number
value: font size
font-variant
string
value: normal, small-caps
font-color
color
value: "rgba(0, 0, 0, 1)"
background-color
color
value: "rgba(0, 0, 0, 1)"
font-weight
string
value: normal, bold
font-style
string
value: normal, italic
text-decoration
string
value: none, line-through, underline
letter-spacing
number
value ๋จ์: 'px' (0-50)
horizontal-align
string
value: left,right,center
vertical-align
string
value: top,middle,bottom
text
string
string
๋ฐํ๊ฐ:
Type: bool
API๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ํ๋ ๊ฒฝ์ฐ: true
API๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ํ๋์ง ์์ ๊ฒฝ์ฐ: false
์ ํ ์ฌํญ:
์ง์ํ์ง ์๋ ์์ฑ(ํ๋ผ๋ฏธํฐ์ Table์ ์์ฑ๋์ง ์์ property)์ ์์ ํ ๊ฒฝ์ฐ, W Player ์ฌ์์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
์ฝ๋ ์์ : $wp.content.getPage(pageId).getElement(โText1โ).setProperty(โtextโ, โTest Text!โ);
๊ธฐํ
Image/Video ์์ - Source ์์ฑ์ ํ๋ผ๋ฏธํฐ๋ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ํ ์ ์์ต๋๋ค.
var imagePath = $wp.local.getRootDirectory() + โ/testImage.pngโ;
๋ค์์ ์ฐธ๊ณ ํ์ธ์. โถ $wp.local. getRootDirectory();
$wp.content.getPage(pageId).getElement(โImage1โ).setProperty(โsourceโ, imagePath);
getProperty()
์ค๋ช : Element์ ์์ฑ์ ๊ฐ์ ๊ตฌํฉ๋๋ค.
๊ตฌ๋ฌธ: function getProperty (โnameโ);
ํ๋ผ๋ฏธํฐ
name: ์์ฑ๋ช
์ง์ element
name
๋ฐํ๊ฐ
์ ํ ์ค๋ช common (๋จ, video element๋ Lock์ ์ ์ธํ ๋๋จธ์ง๋ ์ง์ํ์ง ์์)
width
number
value ๋จ์: px
height
number
value ๋จ์: px
left
number
value ๋จ์: px
top
number
value ๋จ์: px
visibility
string
value: "visible,hidden"
opacity
number
value: 0.0~1.0
rotation
number
value: 0~360
size
Object
{width: 0, height: 0}
position
Object
{left: 0, top: 0}
lock-position-size
boolean
-
lock-design
boolean
-
lock-content
boolean
-
image
flip-x
boolean
-
flip-y
boolean
-
source
string
file ์ ๋ ๊ฒฝ๋ก
flip
Object
{x: false, y: false}
video
source
string
file ์ ๋ ๊ฒฝ๋ก
web content
user-data
Object
{"key","value"}
text
font-size
number
value: font size
font-variant
string
value: normal, small-caps
font-color
color
value: "rgba(0, 0, 0, 1)"
background-color
color
value: "rgba(0, 0, 0, 1)"
font-weight
string
value: normal, bold
font-style
string
value: normal, italic
text-decoration
string
value: none, line-through, underline
letter-spacing
number
value ๋จ์: 'px' (0-50)
horizontal-align
string
value: left,right,center
vertical-align
string
value: top,middle,bottom
text
string
string
๋ฐํ๊ฐ
Type: ์ ํ ์ฐธ๊ณ
API๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ํ๋ ๊ฒฝ์ฐ: ์ ์๊ฐ
API๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ํ๋์ง ์์ ๊ฒฝ์ฐ: undefined: function getProperty (โnameโ);
์ฝ๋ ์์ : $wp.content.getPage(pageId).getElement(โText1โ).getProperty(โtextโ);
addEventListener()
์ค๋ช : ํ์ฌ ์ฌ์๋๊ณ ์๋ ์์์ ํด๋ฆญ ์ด๋ฒคํธ๋ฅผ ์ ๋ฌ๋ฐ๋ ๋ฆฌ์ค๋(Listener)๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
๊ตฌ๋ฌธ: function addEventListener(type,myFunction);
ํ๋ผ๋ฏธํฐ
type: โclickโ (click๋ง ์ง์ํจ)
myFunction: callback function
๋ฐํ๊ฐ
Type: bool
API๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ํ๋ ๊ฒฝ์ฐ: true
API๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ํ๋์ง ์์ ๊ฒฝ์ฐ: false
์ ํ ์ฌํญ
Type์ผ๋ก๋ click๋ง ์ง์ํฉ๋๋ค.
์ง์ ์์: ์ด๋ฏธ์ง, ๋น๋์ค, ํ ์คํธ, ์คํฐ์ปค , ๋ํ
Click ์์ญ: ์์ ์์ญ์ ์ต์ธ๊ณฝ ์ฌ๊ฐํ ์์ญ์ ๋๋ค. (๋จ, ๋ํ ์์๋ ๋ํ ๋ชจ์ ์ธ๊ณฝ ๊ธฐ์ค)
์ฝ๋ ์์
$wp.content.getPage(pageId).getElement(โText1โ). addEventListener(โclickโ,myFunction);
getPropertyType()
์ค๋ช : ์ฝํ ์ธ ์ธํฐํ์ด์ค์์ ์ ๊ณตํ๋ ์์ฑ๋ค์ ์ด๋ฆ์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
์์ฑ๋ช
๋ฐํ๊ฐ
WIDTH
'width'
HEIGHT
'height'
LEFT
'left'
TOP
'top'
VISIBILITY
'visibility'
OPACITY
'opacity'
ROTATION
'rotation'
SIZE
'size'
POSITION
'position'
FLIP_X
'flip-x'
FLIP_Y
'flip-y'
SOURCE
'source'
FLIP
'flip'
FONTFAMILY
'font-family'
FONTSIZE
'font-size'
FONTVARIANT
'font-variant'
FONTCOLOR
'font-color'
BACKGROUNDCOLOR
'background-color'
FONTWEIGHT
'font-weight'
FONTSTYLE
'font-style'
TEXTDECORATION
'text-decoration'
LETTERSPACING
'letter-spacing'
HORIZONTALALIGN
'horizontal-align'
VERTICALALIGN
'vertical-align'
TEXT
'text'
LOCKPOSITIONANDSIZE
'lock-position-size'
LOCKDESIGN
'lock-design'
LOCKCONTENT
'lock-content'
NAME
'name'
USERDATA
'user-data'
๊ตฌ๋ฌธ: function getPropertyType();
ํ๋ผ๋ฏธํฐ: none
๋ฐํ๊ฐ
์ฑ๊ณต: object (์์ฑ๋ช ), ์คํจ: ํญ์ ์ฑ๊ณต
์ฝ๋์์
$wp.content.getPropertyType();
๊ธฐํ
$wp.content.getPropertyType();๋ก๋ถํฐ ๋ฐํ๋๋ ๊ฐ์ฒด๋ฅผ ๋ณ์ํํด ์ฌ์ฉํ๋ฉด ์คํ ๋ฐฉ์ง ๋ฑ์ ํธ๋ฆฌํจ์ด ์์ต๋๋ค.
var contentPropertyType = $wp.content.getPropertyType();
$wp.content.getPage().getElement('Text1').setProperty(contentPropertyType.TEXT, โTESTโ);
movePage ()
์ค๋ช : ํ์ด์ง๋ฅผ ์ด๋ํด ์ฌ์ํฉ๋๋ค.
๊ตฌ๋ฌธ: function movePage(โpageNameโ);
ํ๋ผ๋ฏธํฐ
page name
๋ฐํ๊ฐ
Type: bool
API๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ํ๋ ๊ฒฝ์ฐ: true
API๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ํ๋์ง ์์ ๊ฒฝ์ฐ: false
์ ํ ์ฌํญ
movePage() API๋ ์น ์ฝํ ์ธ ๊ฐ ๊ณตํต ํ์ด์ง์์ ๋์๋๋ ๊ฒฝ์ฐ์๋ง ์ ์ ๋์ํฉ๋๋ค.
์ผ๋ฐ ํ์ด์ง์ ์์นํ HTML ์์์์ movePage api๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ํด๋น ํ์ด์ง๋ก ์ด๋ ์ฌ์๋๊ธฐ ๋๋ฌธ์ ๊ธฐ์กด HTML ์์๋ ๋ ์ด์ ๋์ํ์ง ์์ต๋๋ค.
์ฝ๋ ์์
$wp.content.movePage(โpagenameโ);
๊ธฐํ
setDefaultCallback()์ pageChanged ์ํ์ ๊ฐ์ด ์ฌ์ฉํ๋ฉด ํ์ด์ง ๋ณ๊ฒฝ์ ๋ํ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค.
๋ค์์ ์ฐธ๊ณ ํ์ธ์. โถ setDefaultCallback()
wp.device
์ด ์ธํฐํ์ด์ค๋ W Player, Tizen ๋ฑ์ Device ๊ด๋ จ ๋ฆฌ์์ค ์ ๋ณด๋ฅผ ์ป๊ธฐ ์ํ API๋ค์ ์ ๊ณตํฉ๋๋ค.
getProperty ()
์ค๋ช : Device์ ์์ฑ๊ฐ์ ๊ตฌํฉ๋๋ค.
๊ตฌ๋ฌธ: function getProperty (โnameโ);
ํ๋ผ๋ฏธํฐ
name: ์์ฑ๋ช
name
๋ฐํ๊ฐ
์ ํ ์ค๋ช player_version
string
value: w player version
fw_version
string
value: firmware version
variable_tag
array
value: tag list
mis_ip
string
value: mis ip address
mac
string
value: mac address
ipaddress
string
value: ip address
resolution
object
{ width: 1920, height: 1080 }
orientation
string
value: landscape/portrait
๋ฐํ๊ฐ
Type: ์ ํ ์ฐธ๊ณ
API๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ํ๋ ๊ฒฝ์ฐ: ์ ์๊ฐ
API๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ํ๋์ง ์์ ๊ฒฝ์ฐ: undefined Type: bool
์ฝ๋ ์์
$wp.device.getProperty(โmacโ);
getPropertyType()
์ค๋ช : Device ์ธํฐํ์ด์ค์์ ์ ๊ณตํ๋ ์์ฑ๋ค์ ์ด๋ฆ์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
์์ฑ๋ช
๋ฐํ๊ฐ
PLAYER_VERSION
'player_version'
FIRMWARE_VERSION
'fw_version'
VARIABLE_TAG
'variable_tag'
MIS_IP
'mis_ip'
MACADDRESS
'mac'
IPADDRESS
'ipaddress'
RESOLUTION
'resolution'
ORIENTATION
'orientation'
๊ตฌ๋ฌธ: function getPropertyType();
ํ๋ผ๋ฏธํฐ
None
๋ฐํ๊ฐ
์ฑ๊ณต: object(์์ฑ๋ช ), ์คํจ: ํญ์ ์ฑ๊ณต
์ฝ๋ ์์
$wp.device.getPropertyType();
๊ธฐํ
$wp.device.getPropertyType();๋ก๋ถํฐ ๋ฐํ๋๋ ๊ฐ์ฒด๋ฅผ ๋ณ์ํํด ์ฌ์ฉํ๋ฉด ์คํ ๋ฐฉ์ง ๋ฑ์ ํธ๋ฆฌํจ์ด ์์ต๋๋ค.
var devicePropertyType = $wp.device.getPropertyType();
$wp.device.getProperty(devicePropertyType.MACADDRESS);
$wp.local
์ด ์ธํฐํ์ด์ค๋ ์น ์ฝํ ์ธ ์์๊ฐ ์คํ๋๋ local ํ๊ฒฝ ์ ๋ณด๋ฅผ ์ป๊ธฐ ์ํ API๋ค์ ์ ๊ณตํฉ๋๋ค.
getApiVersion ()
์ค๋ช : ์น ์ฝํ ์ธ ๊ฐ ๊ฐ์ ธ์จ W Player API Lib์ ๋ฒ์ ์ ์ ์ ์์ต๋๋ค.
๊ตฌ๋ฌธ: function getApiVersion();
ํ๋ผ๋ฏธํฐ
None
๋ฐํ๊ฐ
์ฑ๊ณต: string (version), ์คํจ: ํญ์ ์ฑ๊ณต
์ฝ๋ ์์
$wp.local.getApiVersion();
๊ธฐํ
$wp.utility.getApiVersion();๊ณผ ํจ๊ป ์ฌ์ฉํด ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ ์ ์์ต๋๋ค.
getRootDirectory ()
์ค๋ช : ์น ์ฝํ ์ธ ๊ฐ ๋ก๋๋ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ ์ ์์ต๋๋ค.
๊ตฌ๋ฌธ: function getRootDirectory();
ํ๋ผ๋ฏธํฐ
none
๋ฐํ๊ฐ
์ฑ๊ณต: string (Root Directory), ์คํจ: ํญ์ ์ฑ๊ณต
์ฝ๋ ์์
$wp.local. getRootDirectory();
๊ธฐํ
์น ์ฝํ ์ธ ์ ์ถ๊ฐํ asset์ getRootDirectory()๋ฅผ ํตํด ์ ๋ฌ๋ฐ์ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก ํ์์ ์ ์ฅ๋ฉ๋๋ค.
$wp.utility
์ด ์ธํฐํ์ด์ค๋ ์์ฉ ์น ์ฝํ ์ธ ์์ ๊ฐ๋ฐ์ ์ํ ์ฌ๋ฌ utility API๋ค์ ์ ๊ณตํฉ๋๋ค.
log ()
์ค๋ช : ์น ์ฝํ ์ธ ๊ฐ ๊ฐ์ ธ์จ W Player API Lib์ ๋ฒ์ ์ ์ ์ ์์ต๋๋ค.
๊ตฌ๋ฌธ: function log(โmessageโ);
ํ๋ผ๋ฏธํฐ
message: string
๋ฐํ๊ฐ
Type: void
์ฝ๋ ์์
$wp.utility.log(โHello World!โ);
๊ธฐํ
๋ก๊ทธ๋ฅผ ์๊ฒฉ์ผ๋ก ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ๋ค์์ ์ฐธ๊ณ ํ์ธ์. โถ ๋ก๊ทธ ๊ฐ์ ธ์ค๊ธฐ
getApiVersion ()
์ค๋ช : ์น ์ฝํ ์ธ ๊ฐ ์คํ๋๋ W Player๊ฐ ์ง์ํ๋ W Player API Lib์ ๋ฒ์ ์ ์ ์ ์์ต๋๋ค.
๊ตฌ๋ฌธ: function getApiVersion();
ํ๋ผ๋ฏธํฐ
none
๋ฐํ๊ฐ
์ฑ๊ณต: string (version), ์คํจ: ํญ์ ์ฑ๊ณต
์ฝ๋ ์์
$wp.utility.getApiVersion();
๊ธฐํ
$wp.local.getApiVersion();๊ณผ ํจ๊ป ์ฌ์ฉํด ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ ์ ์์ต๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ ์ฝ๋ ์์
Text ์์ ํฐํธ ์์ ๋ณ๊ฒฝํ๊ธฐ
ํ์ฌ ํ์ด์ง์์ โText1โ์ด๋ผ๋ ์ด๋ฆ์ ๊ฐ๋ ํ ์คํธ ์์(Text Element)์ ํฐํธ ์์(Font Color)์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์ฐธ๊ณ
์์ ์ด๋ฆ์ ์์ โ์ด๋ฆ ๋ณ๊ฒฝ ์ค๋ช โ์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
<html> <head> <script src="wplayer-api-v1.0.0.js"></script> <script> const contentPropertyType = $wp.content.getPropertyType(); $wp.content.getPage().getElement('Text1').setProperty(contentPropertyType.FONTCOLOR,rgba(255, 0, 0, 1)); </script> </head> </html>
์ํ ์ด๋ฒคํธ ์ ๋ฌ๋ฐ๊ธฐ
์๋ช ์ฃผ๊ธฐ์ ํด๋นํ๋ state๋ฅผ ์ ๋ฌ๋ฐ์ ์ ์์ต๋๋ค.
<html> <head> <script src="wplayer-api-v1.0.0.js"></script> <script> var PageID = null; $wp.setDefaultCallback(function(object) { switch (object.type) { case 'state': switch (object.sub) { case 'ready': $wp.utility.log(`ElementHtml get 'ready' state`); PageID = object.pageId; //getPage() ํจ์ ํธ์ถ ์ Id ๊ฐ์ผ๋ก ์ฌ์ฉ break; case 'play': $wp.utility.log(`ElementHtml get 'play' state`); break; case 'stop': $wp.utility.log(`ElementHtml get 'stop' state`); $wp = null; //stop ์ null ์ค์ ์ ํตํด ๋ฆฌ์์ค ๋ฐํ ์งํ break; default: break; } break; default: break; } }); </script>
User ๋ฐ์ดํฐ ์ ๋ฌ๋ฐ๊ธฐ
์ํ ์ด๋ฒคํธ์์ ๊ฐ์ฒด๋ก Web Author์์ ์ ์ ์ ์ค์ ํ user data๋ฅผ key: value ํ์์ผ๋ก ์ ๋ฌ๋ฐ์ ์ ์์ต๋๋ค.
User data๋ getProperty์ USERDATA๋ฅผ ์ด์ฉํด ๊ตฌํ ์๋ ์์ต๋๋ค.
<html> <head> <script src="wplayer-api-v1.0.0.js"></script> <script> const contentPropertyType = $wp.content.getPropertyType(); $wp.setDefaultCallback(function(object) { switch (object.type) { case 'state': switch (object.sub) { case 'ready': $wp.content.getPage(object.pageId).getElement('Text1').setProperty(contentPropertyType.TEXT, `${JSON.stringify(object.data)} from User Data`); break; default: break; } break; default: break; } }); </script> </head> </html>
UDP ๋ฐ์ดํฐ ์ ๋ฌ๋ฐ๊ธฐ
UDP port๋ก ์ ๋ฌ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Web Author์์ ์ ์ ์ ์น ์ฝํ ์ธ ์ External Data > UDP Listener ์์ฑ์ด ์ค์ ๋์ด ์์ด์ผ ํฉ๋๋ค.
Web Author์์ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ(Preview)๋ฅผ ์ด์ฉํด UDP ๋์์ ์๋ฎฌ๋ ์ด์ ํ ์ ์์ต๋๋ค.
<html> <head> <script src="wplayer-api-v1.0.0.js"></script> <script> var PageID = null; const contentPropertyType = $wp.content.getPropertyType(); $wp.setDefaultCallback(function(object) { switch (object.type) { case 'state': switch (object.sub) { case 'ready': PageID = object.pageId; //getPage() ํจ์ ํธ์ถ ์ Id ๊ฐ์ผ๋ก ์ฌ์ฉ break; } case 'udp': $wp.content.getPage(PageID).getElement('Text1').setProperty(contentPropertyType.TEXT, `${object.data} from UDP`); break; default: break; } }); </script> </head> </html>
Datalink ํ ์ด๋ธ ์ ๋ฌ๋ฐ๊ธฐ
Datalink์์ ์ ๋ฌ๋๋ table data๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Web Author์์ ์ ์ ์ ์น ์ฝํ ์ธ ์ EXT. DATA DATALINK ์์ฑ์ด ์ค์ ๋์ด ์์ด์ผ ํฉ๋๋ค.
<html> <head> <script src="wplayer-api-v1.0.0.js"></script> <script> var PageID = null; const contentPropertyType = $wp.content.getPropertyType(); $wp.setDefaultCallback(function(object) { switch (object.type) { case 'state': switch (object.sub) { case 'ready': PageID = object.pageId; //getPage() ํจ์ ํธ์ถ ์ Id ๊ฐ์ผ๋ก ์ฌ์ฉ break; } case 'datalink': if (object.sub === โmytablenameโ) { $wp.content.getPage(PageID).getElement('Text1').setProperty(contentPropertyType.TEXT ,`${object.data} from Datalink`); } break; default: break; } }); </script> </head> </html>
ํด๋ฆญ ์ด๋ฒคํธ ์ ๋ฌ๋ฐ๊ธฐ
ํ์ฌ ํ์ด์ง์์ 'Image1'์ด๋ผ๋ ์ด๋ฆ์ ๊ฐ๋ image element์ ํด๋ฆญ ์ด๋ฒคํธ๋ฅผ ์ ๋ฌ๋ฐ์ ์ ์์ต๋๋ค. ๋ค์์ ์ฐธ๊ณ ํ์ธ์. โถ Datalink ํ ์ด๋ธ ์ ๋ฌ๋ฐ๊ธฐ
<html> <head> <script src="wplayer-api-v1.0.0.js"></script> <script> const contentPropertyType = $wp.content.getPropertyType(); $wp.content .getPage() .getElement('Image1') .addEventListener('click', (e) => { $wp.content.getPage().getElement('Text1').setProperty(contentPropertyType.TEXT, `Click Image1`); }); </script> </head> </html>
Sample ๋ค์ด๋ก๋ ๋ฐ ์ฃผ์ ๋์ ํ์ตํ๊ธฐ
Sample LFD ๋ฅผ ๋ค์ด๋ก๋ ํ Web Author์ Open Local File ๊ธฐ๋ฅ์ ์ด์ฉํ์ฌ Web Author์ Import ํ๋ฉด Web Author์ Preview ๊ธฐ๋ฅ ๋ฐ W Player์ ๋ฐฐํฌ๋ฅผ ํตํด W Player API์ ์ฃผ์ ๋์ ๊ธฐ๋ฅ์ ๋ฐฐ์ธ ์ ์์ต๋๋ค.
Sample LFD ๋ ์๋์ ๊ฐ์ด 2๊ฐ์ Page๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.4-1. Default Page
๊ด๊ณ ์ ๊ฐ์ ๊ธฐ๋ณธ ์ปจํ ์ธ ๋ฅผ ์ฌ์ํ๋ค๊ฐ ์ฌ์ฉ์๊ฐ ํ๋ฉด์ touch ํ ๊ฒฝ์ฐ, ์ ๋ณด์ ๊ณต ๋ฑ์ ๋ค๋ฅธ ์ปจํ ์ธ ๋ฅผ ํฌํจํ๋ ํ์ด์ง๋ก ์ ํํ์ฌ ์ฌ์ํ๋ค.
๊ตฌ์ฑ:
1) ํ๋ฉด์ ์ฌ์๋ ๋ฐฐ๊ฒฝ ์์ (ex. ๊ด๊ณ ๋์์/์ด๋ฏธ์ง)
2) ๋ค๋ฅธ ํ์ด์ง๋ก ์ ํํ๊ธฐ ์ํ touch ์ด๋ฒคํธ๋ฅผ ๋ฐ์ ์์
3) Player์ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค ๋ฒํผ ๋ฐ ํ ์คํธ ์์
4) Web Content
๊ธฐ๋ฅ:
(1) ํ์ด์ง ์ ํ์ ์ํ ์์๋ก๋ถํฐ touch ์ด๋ฒคํธ๋ฅผ ์์ ํ์ฌ ํ์ด์ง๋ฅผ ์ ํ์ํจ๋ค.
(2) player์ ๋ณด๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํ ์์๋ก๋ถํฐ touch ์ด๋ฒคํธ๋ฅผ ์์ ํ์ฌ Player(device)์ ip address, mac address, version ๋ฑ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋ค.
(3) ๋ฆฌ๋ชจ์ปจ์ keydown ์ด๋ฒคํธ ์์ , udp๋ฉ์์ง ์์ ์ ํตํ์ฌ ํ์ด์ง ์ ํ ๋ฑ์ ๊ธฐ๋ฅ์ ๋์ํ๋ค.
Web Author ์ค์ :
(1) User Data ์ค์ : ๋ค๋ฅธ ํ์ด์ง๋ก ์ ํํ๊ธฐ ์ํ์ฌ touch ์ด๋ฒคํธ๋ฅผ ์์ ํ ์์์ ์ด๋ฆ์ โclickElementโ(key)์ value์ ์ ์ฅํ์ฌ ์ ๋ฌํ๋ค.
(2) External Data ์ค์ : UDP Listener๋ฅผ ํ์ฑํ ์์ผ์ webContent๊ฐ UDP๋ฉ์์ง๋ฅผ ์์ ํ ์ ์๋๋ก ์ค์ ํ๋ค.
4-2. MenuBoard Page
Datalink๋ฅผ ํตํ์ฌ ๋ฉ๋ด ๋ณด๋๋ฅผ ๊ตฌ์ฑํ๊ณ , sold-out ๋ฑ์ ์ด๋ฒคํธ์ ๋ฐ๋ฅธ ๋์์ ๋ฉ๋ด ๋ณด๋์ ์ถ๊ฐํ์ฌ ์ฌ์ํฉ๋๋ค. ์ฌ์ฉ์์ ๋์์ด ์ผ์ ์๊ฐ ๋์ ์์ ๊ฒฝ์ฐ, ๊ธฐ๋ณธ ํ์ด์ง๋ก ์ ํํฉ๋๋ค.
๊ตฌ์ฑ:
1) WebContent
๊ธฐ๋ฅ:
(1) Datalink๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ ๋ฉ๋ด ๋ณด๋๋ฅผ ๊ตฌ์ฑํ๋ค.
(2) ๋ฉ๋ด ๋ณด๋ ์ค sold-out ์ํ์ผ ๊ฒฝ์ฐ, ์ ์ ํ ํจ๊ณผ๋ฅผ ์ ์ฉํ๋ค.
(3) ์ผ์ ์๊ฐ ๋์ ์ฌ์ฉ์์ ๋์์ด ์์ ๊ฒฝ์ฐ, ๊ธฐ๋ณธ ์ปจํ ์ธ ๊ฐ ์ฌ์๋๋ ํ์ด์ง๋ก ์ ํ์ํจ๋ค.
Web Author ์ค์ :
(1) User Data ์ค์ : ์ฌ์ฉ์๊ฐ ์ผ์ ์๊ฐ ๋์ ์ฌ์ฉํ์ง ์์ ๊ฒฝ์ฐ ๋ค๋ฅธ ํ์ด์ง๋ก ์ ํํ๋๋ฐ, ์ฌ์ฉ์์ ์ฌ์ฉ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ ์ผ์ ์๊ฐ์ โtimeoutโ(key)์ value์ ์ ์ฅํ์ฌ ์ ๋ฌํ๋ค.
๊ธฐ๋ณธ ์ปจํ ์ธ ๊ฐ ํฌํจ๋ ํ์ด์ง์ ์ด๋ฆ์ โdefaultPageNameโ(key)์ value์ ์ ์ฅํ์ฌ ์ ๋ฌํ๋ค.
(2) External Data ์ค์ : UDP Listener๋ฅผ ํ์ฑํ ์์ผ์ webContent๊ฐ UDP๋ฉ์์ง๋ฅผ ์์ ํ ์ ์๋๋ก ์ค์ ํ๋ค.DataLink Listener๋ฅผ ํ์ฑํ ์ํค๊ณ DataLink Table์ ํตํ์ฌ WebContent์ ์ ๋ฌํ ๋ฐ์ดํฐ๋ฅผ ์ค์ ํ๋ค.