====== QR코드 가이드 ======
이 화면은 https://github.com/davidshimjs/qrcodejs 사이트에서 제공하는 라이브러리를 이용한 QR 코드 생성 샘플 화면이다.
템플릿이 저장된 디렉토리의 qrcode.min.js 파일을 활용하세요.
===== 예시 =====
템플릿 위치: /HTML5/OSS/qrcode_basic
템플릿 파일
* [[xf5projecthome>template/screen/HTML5/OSS/qrcode_basic.xml|qrcode_basic.xml]]
* [[xf5projecthome>template/screen/HTML5/OSS/qrcode_basic.js|qrcode_basic.js]]
* [[xf5projecthome>template/template.html?xframe_screen_url=/HTML5/OSS/qrcode_basic|새창으로 실행]]
echo '';
echo '';
echo '';
==== 화면 스크립트 ====
// 화면 로드 이벤트
function screen_on_load()
{
// QR 코드 생성 처리용 라이브러리 로드 (프로젝트 환경에 따라 경로를 달라질 수 있음)
// 템플릿이 저장된 디렉토리의 qrcode.min.js 파일을 활용하세요.
// screen.loadjs("./project/terminal/ext/qrcode/qrcode.min.js");
screen.loadjs("./ext/lib/qrcode.min.js");
// QR 코드 생성용 데이터 설정
this.fld_text.settext("http://www.softbase.co.kr");
}
// "QR 코드 생성" 버튼 이벤트
function btn_make_qrcode_on_mouseup(objInst)
{
var qrcode, qrcode_prop, qrcode_target_dom;
// DIV 컴포넌트 내부 모든 HTML Element를 삭제
this.btn_clear_qrcode_on_mouseup();
// QR 코드 생성 속성 오브젝트 생성
qrcode_prop = {
width: this.fld_width.gettext(),
height: this.fld_height.gettext(),
colorDark : "#000000",
colorLight : "#ffffff",
correctLevel : QRCode.CorrectLevel.H
};
// QR 코드 생성 대상 DOM 오브젝트를 DIV 컴포넌트를 이용하여 구함
qrcode_target_dom = this.div_qrcode.getdom();
// QR 코드 오브젝트 생성
qrcode = new QRCode(qrcode_target_dom, qrcode_prop);
// QR 코드 데이터 설정
qrcode.makeCode(this.fld_text.gettext());
}
// "QR 코드 삭제" 버튼 이벤트
function btn_clear_qrcode_on_mouseup(objInst)
{
// DIV 컴포넌트 내부 모든 HTML Element를 삭제
this.div_qrcode.empty();
}
// "QR 코드 데이터 저장"
function btn_save_qrcode_on_mouseup(objInst)
{
var qrcode_image_base64_data;
// QR코드가 생성된 DIV 컴포넌트 내부 이미지 DOM의 이미지 데이터를 구함
qrcode_image_base64_data = this.div_qrcode.getjdom().find("img").attr("src");
// QR코드 이미지 데이터를 멀티라인 컴포넌트에 설정
this.fld_qrimagedata.settext(qrcode_image_base64_data);
}
// "QR 코드 데이터를 이용하여 이미지 컴포넌트에 QR 코드 생성" 버튼 이벤트
function btn_load_qrcode_on_mouseup(objInst)
{
this.img_qrcode.setimagedata(this.fld_qrimagedata.gettext());
}
// "이미지 초기화" 버튼 이벤트
function btn_init_qrcode_on_mouseup(objInst)
{
this.img_qrcode.setimagedata("");
}
// "QR 코드 데이터를 이용하여 QR 코드 인쇄" 버튼 이벤트
function btn_print_qrcode_on_mouseup(objInst)
{
var arr_line;
arr_line = [];
arr_line.push('');
arr_line.push('');
arr_line.push('');
arr_line.push('');
arr_line.push('');
arr_line.push('');
arr_line.push('');
arr_line.push('');
arr_line.push('');
arr_line.push('');
arr_line.push('');
arr_line.push('xFrame5 Report');
arr_line.push('');
arr_line.push('');
arr_line.push('
');
arr_line.push('');
arr_line.push('
');
arr_line.push('');
arr_line.push('');
/////////////////////////////////////////////////////////////////////////////////
// 인쇄용 HTML 기본 하단부 끝
/////////////////////////////////////////////////////////////////////////////////
// 웹브라우저 컴포넌트 내부 HTML 내용 설정,
// 페이지 로드 완료시, on_pageload 이벤트 발생함
this.web.sethtml(arr_line.join(''));
}
// QR 코드 인쇄용 웹브라우저 컴포넌트 로드 이벤트
function web_on_pageload(objInst)
{
// 웹브라우저 컴포넌트 내부 HTML window DOM 오브젝트를 구함
var browser_window = this.web.getbrowserwindow();
// HTML window DOM 오브젝트의 print 함수 호출
browser_window.print();
}