반응형

1. 콜백 함수

 - 일정 작업이 완료되면 실행되는 함수

 - 함수를 정의하고 바로 실행되는 것이 아니라 특정 조건이 됐을 때 실행되는 함수

 - ex) 사용자가 화면을 터치 했을 때 실행할 함수, 웹뷰의 로딩이 완료됐을 때 실행할 콜백 함수를 정의 할 수 있다.

WebView(
	initialUrl: 'https://childeye.tistroy.com',
    javascriptMode: JavascriptMode.unrestricted,
    
    onPageFinished: (String url) {
    	print(url);
    },
}

onPageFinished() 함수는 웹뷰에서 페이지 로딩이 완료된 뒤에 실행되는 콜백 함수이다.

첫 번째 매개변수로 로딩된 페이지의 url 전달한다.

페이지가 로딩 후 실행하고 싶은 작업이 있다면 함수 내부에 코드를 정의하면 된다.

WebView 위젯의 콜백함수는 onPageFinished 뿐 아니라 onWebViewCreated(), onPageStarted(), onProgress 등의 특정 조건이 성립됐을 때 실행되는 콜백 함수도 있다.

 

2. 웹뷰 위젯

웹뷰는 프레임워크에 내장된 브라우저를 앱의 네이티브 컴포넌트에 임베딩하는 기능이다.

엡에서 웹브라우저의 기능을 구현해 주는 것이다.

웹뷰는 네이티브 컴포넌트에 비해 속도가 느리고 애니메이션이 부자연스럽지만 기존에 만든 웹사이트를 손쉽게 활용할 수 있어서 사용한다.

이미 만들어진 웹사이트가 있다면 코드 몇 줄로 해당 사이트를 앱에서 웹뷰로 탑재해서 앱을 만들수 있다.

결제 모듈을 PG사에서 웹으로 이미 기능을 구현해두었기 때문에 웹뷰를 사용하면 결제 기능 개발을 별도로 구현할 필요가 없다.

 

웹뷰의 속성

 - initialUrl : 웹뷰에서 처음 실행할 웹사이트의 주소. 웹뷰가 포함된 위젯이 화면에 생성되면 웹뷰를 생성하고 initialUrl 사이트를 처음으로 실행한다.

 - javascriptMode : 웹뷰에서 자바스크립트 실행을 허용할지 여부를 결정.

   √ unrestricted : 자바스크립트를 제한 없이 실행

    disable : 자바스크립트를 실행 할 수 없음.

 - onWebViewCreated : 웹뷰 위젯이 생성되면 실행할 콜백 함수. 매개 변수로 WebViewController 를 전달하며 뒤로가기, 앞으로 가기, 새로운 URL 실행하기 등 기능을 조작할 수 있다.

 - onPageStarted : 웹뷰가 처음 생성되거나 페이지를 이동했을 때 웹페이지가 로딩되기 시작하면 실행할 콜백 함수. 매개변수로 로딩이 시작된 페이지의 URL 이 전달된다.

 - onPageFinished : 웹페이지 로딩이 끝나면 실행. 로딩이 완료된 웹페이지의 URL 이 매개변수로 전달된다.

 - onProgress : 웹페이지가 로딩 중일 때 지속적으로 실행되며 페이지의 로딩이 끝날 때까지 실행된다. 매개변수로 페이지 로딩 상태가 0 ~ 100 사이의 int 값으로 전달된다.

반응형

+ Recent posts