개체 내장 개체

개체 WebView

브라우저 창 개체

WebView는 브라우저에 내장 된 창 구성 요소로 현재 Windows, macOS (10.10+) 만 지원합니다. Windows에서는 IE / Edge 커널을 사용하고 macOS에서는 WKWebView를 사용합니다.

WebView와 fibjs의 JavaScript 프로그램은 동일한 엔진에 있지 않기 때문에 호스트 프로그램과 통신해야하는 경우 메시지를 사용해야합니다.

WebView에서 통신을 위해 사용하는 개체는 하나의 postMessage 메서드와 두 개의 이벤트 onmessage 및 onclose를 지원하는 외부 개체입니다.

간단한 통신 예제 코드는 다음과 같습니다.

1 2 3 4 5 6 7 8 9
// index.js var gui = require('gui'); var webview = gui.open('fs://index.html'); webview.onmessage = msg => console.log(msg); webview.onload = evt => webview.postMessage("hello from fibjs"); webview.wait();

index.html의 내용은 다음과 같습니다.

1 2 3 4 5 6 7 8
<script> external.onclose = function() { } external.onmessage = function(msg){ external.postMessage("send back: " + msg); }; </script>

사용자 창을 닫기 전에 external.onclose 이벤트가 트리거되고 external.onclose는 닫을 지 여부를 결정할 수 있습니다. external.onclose가 false를 반환하면 작업이 취소되고 그렇지 않으면 창이 닫힙니다.

다음 예제는 사용자가 닫기를 클릭 한 후 창을 닫은 후 5 초 동안 기다립니다.

1 2 3 4 5 6 7 8 9 10 11 12
<script lang="JavaScript"> var bClose = false; external.onclose = function () { if (!bClose) { setTimeout(function () { bClose = true; window.close(); }, 5000); return false; } } </script>

위 코드에서 window.close 자체도 onclose 이벤트를 트리거하기 때문에 이벤트를 처리해야하는지 여부를 식별하기 위해 스위치 변수를 추가해야합니다.

계승

정적 속성

defaultMaxListeners

정수, 기본 전역 최대 리스너 수

1
static Integer WebView.defaultMaxListeners;

회원 속성

visible

부울, 쿼리 및 창 표시 여부 설정

1
Boolean WebView.visible;

onload

함수, 쿼리 및 바인딩로드 성공 이벤트, on ( "load", func);

1
Function WebView.onload;

onmove

on ( "move", func); 함수, 쿼리 및 바인딩 창 이동 이벤트

1
Function WebView.onmove;

다음 예제는 창을 이동할 때 창의 왼쪽 위 모서리의 좌표를 출력합니다.

1 2 3 4
var gui = require('gui'); var webview = gui.open('fs://index.html'); webview.onmove = evt => console.log(evt.left, evt.top);

onresize

함수, 쿼리 및 바인딩 창 크기 변경 이벤트, on ( "size", func);

1
Function WebView.onresize;

다음 예제는 창 크기를 조정할 때 창 크기를 출력합니다.

1 2 3 4
var gui = require('gui'); var webview = gui.open('fs://index.html'); webview.onresize = evt => console.log(evt.width, evt.height);

onclosed

함수, 쿼리 및 바인드 창 닫기 이벤트, 이번에는 WebView가 닫힌 후 트리거됩니다. on ( "closed", func);

1
Function WebView.onclosed;

onmessage

on ( "message", func);

1
Function WebView.onmessage;

회원 기능

setHtml

webview의 페이지 html 설정

1
WebView.setHtml(String html) async;

호출 매개 변수 :

  • html : 문자열, html 설정

print

현재 창 문서 인쇄

1
WebView.print(Integer mode = 1) async;

호출 매개 변수 :

  • mode : 정수, 인쇄 매개 변수, 0 : 고속 인쇄, 1 : 표준 인쇄, 2 : 인쇄 미리보기. 기본값은 1입니다.

close

현재 창 닫기

1
WebView.close() async;

postMessage

웹보기에 메시지 보내기

1
WebView.postMessage(String msg) async;

호출 매개 변수 :

  • msg : String, 보낼 메시지

    postMessage는 창이로드 된 후 메시지를 보내야하며 그 전에 보낸 메시지는 손실됩니다. 따라서 onload 이벤트가 트리거 된 후에이 메서드를 호출하는 것이 좋습니다.


on

이벤트 핸들러를 객체에 바인딩

1 2
Object WebView.on(String ev, Function func);

호출 매개 변수 :

  • ev : 문자열, 이벤트 이름 지정
  • func : 기능, 이벤트 처리 기능 지정

반환 결과 :

  • Object , 이벤트 객체 자체를 반환하며 체인 호출이 쉽습니다.

이벤트 핸들러를 객체에 바인딩

1
Object WebView.on(Object map);

호출 매개 변수 :

  • map : Object, 이벤트 매핑 관계 지정, 객체 속성 이름은 이벤트 이름으로 사용되며 속성 값은 이벤트 처리 기능으로 사용됩니다.

반환 결과 :

  • Object , 이벤트 객체 자체를 반환하며 체인 호출이 쉽습니다.

addListener

이벤트 핸들러를 객체에 바인딩

1 2
Object WebView.addListener(String ev, Function func);

호출 매개 변수 :

  • ev : 문자열, 이벤트 이름 지정
  • func : 기능, 이벤트 처리 기능 지정

반환 결과 :

  • Object , 이벤트 객체 자체를 반환하며 체인 호출이 쉽습니다.

이벤트 핸들러를 객체에 바인딩

1
Object WebView.addListener(Object map);

호출 매개 변수 :

  • map : Object, 이벤트 매핑 관계 지정, 객체 속성 이름은 이벤트 이름으로 사용되며 속성 값은 이벤트 처리 기능으로 사용됩니다.

반환 결과 :

  • Object , 이벤트 객체 자체를 반환하며 체인 호출이 쉽습니다.

prependListener

이벤트 처리기를 개체의 시작에 바인딩

1 2
Object WebView.prependListener(String ev, Function func);

호출 매개 변수 :

  • ev : 문자열, 이벤트 이름 지정
  • func : 기능, 이벤트 처리 기능 지정

반환 결과 :

  • Object , 이벤트 객체 자체를 반환하며 체인 호출이 쉽습니다.

이벤트 처리기를 개체의 시작에 바인딩

1
Object WebView.prependListener(Object map);

호출 매개 변수 :

  • map : Object, 이벤트 매핑 관계 지정, 객체 속성 이름은 이벤트 이름으로 사용되며 속성 값은 이벤트 처리 기능으로 사용됩니다.

반환 결과 :

  • Object , 이벤트 객체 자체를 반환하며 체인 호출이 쉽습니다.

once

일회성 이벤트 처리 기능을 객체에 바인딩하면 일회성 처리 기능이 한 번만 트리거됩니다.

1 2
Object WebView.once(String ev, Function func);

호출 매개 변수 :

  • ev : 문자열, 이벤트 이름 지정
  • func : 기능, 이벤트 처리 기능 지정

반환 결과 :

  • Object , 이벤트 객체 자체를 반환하며 체인 호출이 쉽습니다.

일회성 이벤트 처리 기능을 객체에 바인딩하면 일회성 처리 기능이 한 번만 트리거됩니다.

1
Object WebView.once(Object map);

호출 매개 변수 :

  • map : Object, 이벤트 매핑 관계 지정, 객체 속성 이름은 이벤트 이름으로 사용되며 속성 값은 이벤트 처리 기능으로 사용됩니다.

반환 결과 :

  • Object , 이벤트 객체 자체를 반환하며 체인 호출이 쉽습니다.

prependOnceListener

이벤트 처리기를 개체의 시작에 바인딩

1 2
Object WebView.prependOnceListener(String ev, Function func);

호출 매개 변수 :

  • ev : 문자열, 이벤트 이름 지정
  • func : 기능, 이벤트 처리 기능 지정

반환 결과 :

  • Object , 이벤트 객체 자체를 반환하며 체인 호출이 쉽습니다.

이벤트 처리기를 개체의 시작에 바인딩

1
Object WebView.prependOnceListener(Object map);

호출 매개 변수 :

  • map : Object, 이벤트 매핑 관계 지정, 객체 속성 이름은 이벤트 이름으로 사용되며 속성 값은 이벤트 처리 기능으로 사용됩니다.

반환 결과 :

  • Object , 이벤트 객체 자체를 반환하며 체인 호출이 쉽습니다.

off

개체 처리 대기열에서 지정된 기능을 취소합니다.

1 2
Object WebView.off(String ev, Function func);

호출 매개 변수 :

  • ev : 문자열, 이벤트 이름 지정
  • func : 기능, 이벤트 처리 기능 지정

반환 결과 :

  • Object , 이벤트 객체 자체를 반환하며 체인 호출이 쉽습니다.

개체 처리 대기열의 모든 기능 취소

1
Object WebView.off(String ev);

호출 매개 변수 :

  • ev : 문자열, 이벤트 이름 지정

반환 결과 :

  • Object , 이벤트 객체 자체를 반환하며 체인 호출이 쉽습니다.

개체 처리 대기열에서 지정된 기능을 취소합니다.

1
Object WebView.off(Object map);

호출 매개 변수 :

  • map : Object, 이벤트 매핑 관계 지정, 이벤트 이름으로 객체 속성 이름 사용, 이벤트 처리 기능으로 속성 값 사용

반환 결과 :

  • Object , 이벤트 객체 자체를 반환하며 체인 호출이 쉽습니다.

removeListener

개체 처리 대기열에서 지정된 기능을 취소합니다.

1 2
Object WebView.removeListener(String ev, Function func);

호출 매개 변수 :

  • ev : 문자열, 이벤트 이름 지정
  • func : 기능, 이벤트 처리 기능 지정

반환 결과 :

  • Object , 이벤트 객체 자체를 반환하며 체인 호출이 쉽습니다.

개체 처리 대기열의 모든 기능 취소

1
Object WebView.removeListener(String ev);

호출 매개 변수 :

  • ev : 문자열, 이벤트 이름 지정

반환 결과 :

  • Object , 이벤트 객체 자체를 반환하며 체인 호출이 쉽습니다.

개체 처리 대기열에서 지정된 기능을 취소합니다.

1
Object WebView.removeListener(Object map);

호출 매개 변수 :

  • map : Object, 이벤트 매핑 관계 지정, 이벤트 이름으로 객체 속성 이름 사용, 이벤트 처리 기능으로 속성 값 사용

반환 결과 :

  • Object , 이벤트 객체 자체를 반환하며 체인 호출이 쉽습니다.

removeAllListeners

객체 처리 대기열에서 모든 이벤트의 모든 리스너를 취소합니다. 이벤트가 지정된 경우 지정된 이벤트의 모든 리스너를 제거합니다.

1
Object WebView.removeAllListeners(Array evs = []);

호출 매개 변수 :

  • evs : 배열, 이벤트 이름 지정

반환 결과 :

  • Object , 이벤트 객체 자체를 반환하며 체인 호출이 쉽습니다.

setMaxListeners

호환성을 위해서만 리스너 수의 기본 제한

1
WebView.setMaxListeners(Integer n);

호출 매개 변수 :

  • n : 정수, 이벤트 수 지정

getMaxListeners

호환성을 위해서만 리스너 수의 기본 제한을 가져옵니다.

1
Integer WebView.getMaxListeners();

반환 결과 :

  • Integer 는 기본 제한 수를 반환합니다.

listeners

쿼리 객체의 지정된 이벤트에 대한 리스너 배열

1
Array WebView.listeners(String ev);

호출 매개 변수 :

  • ev : 문자열, 이벤트 이름 지정

반환 결과 :

  • Array 는 지정된 이벤트에 대한 리스너 배열을 반환합니다.

listenerCount

쿼리 개체의 지정된 이벤트에 대한 리스너 수

1
Integer WebView.listenerCount(String ev);

호출 매개 변수 :

  • ev : 문자열, 이벤트 이름 지정

반환 결과 :

  • Integer 는 지정된 이벤트에 대한 리스너 수를 반환합니다.

eventNames

쿼리 리스너 이벤트 이름

1
Array WebView.eventNames();

반환 결과 :

  • Array 는 이벤트 이름의 배열을 반환합니다.

emit

이벤트를 적극적으로 트리거

1 2
Boolean WebView.emit(String ev, ...args);

호출 매개 변수 :

  • ev : 문자열, 이벤트 이름
  • args : ..., 이벤트 핸들러로 전달되는 이벤트 매개 변수

반환 결과 :

  • Boolean , 이벤트 트리거 상태를 반환하고, 응답 이벤트가 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

toString

객체의 문자열 표현을 반환합니다. 일반적으로 "[Native Object]"를 반환합니다. 객체는 자체 특성에 따라 다시 구현 될 수 있습니다.

1
String WebView.toString();

반환 결과 :

  • String , 객체의 문자열 표현을 반환합니다.

toJSON

객체의 JSON 형식 표현을 반환합니다. 일반적으로 객체에서 정의한 읽을 수있는 속성 모음을 반환합니다.

1
Value WebView.toJSON(String key = "");

호출 매개 변수 :

  • key : 문자열, 사용되지 않음

반환 결과 :

  • Value , 직렬화 가능한 JSON이 포함 된 값을 반환합니다.