---
sourceDocument: Xanadu API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ko-KR

ft:publication_title :

    - Xanadu API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# 모바일 클라이언트 GlideForm(g 양식) 스크립팅 및 마이그레이션

# 모바일 클라이언트 GlideForm(g 양식) 스크립팅 및 마이그레이션 {#ariaid-title1}

* 릴리스 버전: Xanadu
* 
* 업데이트 날짜 2024년 08월 01일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 6분

모바일에 대한 클라이언트 스크립팅은 몇 가지 예외가 있지만, 웹에 대한 스크립팅과 동일합니다. 모든 새 스크립트는 특정 지침을 따라야 합니다. Mobile Platform에서 클라이언트 스크립트, UI 정책, 탐색기 모듈, UI 작업이 영향을 받습니다.

## 클라이언트 스크립트

새 스크립트나 기존 스크립트를 모바일에 유효하게 하려면 다음 요구사항을 준수해야 합니다.

* g_form.getControl() 대신 새 모바일 메서드를 사용합니다.
* 사용하지 않는 메서드를 사용하지 않습니다.
* 지원되지 않는 브라우저 개체를 참조하지 않습니다.
* 동기식 JavaScript, GlideAjax, GlideRecord 호출을 하지 마십시오.
* 모바일에 사용할 수 없는 메서드를 호출하지 마십시오.
* 모바일 UI에서 스크립트를 실행할 수 있도록 설정합니다.

|-|-|
| 새 모바일 메서드 사용 | HTML을 직접 조작하는 대신 양식 필드를 수정하는 데 여러 가지 새 메서드를 사용할 수 있습니다. 이러한 메서드는 Mobile Platform에서 사용되지 않는 g_form.getControl()의 이전 사용을 대체합니다. 기존 스크립트에서는 Mobile Platform에서 유효하지 않은 메서드 대신 새 메서드를 사용해야 합니다. 이러한 새로운 메서드에 대한 자세한 내용은 [Mobile GlideForm() API](https://servicenow-prod.fluidtopics.net/Cn80q6nryr~emhi4TjnpNg#c_MobileGlideForm_API "g_form(Mobile GlideForm) API는 모바일 플랫폼에서 양식을 사용하여 작업하는 메서드를 제공합니다.")를 참조하십시오. |
| 사용되지 않는 메서드를 사용하지 마십시오. | 다음 메서드는 HTML 요소에 직접 액세스가 허용되지 않으므로 Mobile Platform에는 사용되지 않습니다. * g_form.getControl() * g_form.getFormElement() * g_form.getElement() 기존 스크립트가 호환되도록 하려면 코드에서 더 이상 사용되지 않는 메서드에 대한 모든 호출을 제거합니다. 새 스크립트의 경우, 스크립트가 모바일에 유효하도록 하려면 사용되지 않는 메서드를 사용하지 마십시오. g_form.getControl()의 경우, 이 메서드와 함께 이전에 포함된 기능 중 일부는 개별 메서드로 추출되었습니다. g_form.getControl() 대신, 개발자 사이트에 설명된 새 메서드를 사용하십시오. |
| 지원되지 않는 브라우저 개체를 참조하지 마십시오. | 다음 브라우저 개체는 모바일 스크립트에서 지원되지 않습니다. * 창 * jQuery 또는 프로토타입($, $j 또는 $$) * 문서 새 스크립트가 이러한 개체를 사용하지 않도록 하고, 기존 스크립트에서 이러한 개체의 사용을 제거하십시오. 대신 GlideForm (g_form)을 사용합니다. 이것은 동일한 작업을 수행하기 위해 setLabel(), addDecoration(), hasField()와 같은 메서드를 제공합니다. |
| 동기식 JavaScript 호출을 하지 마십시오. | Mobile Platform에서 동기식 JavaScript 호출을 허용하지 않습니다. g_form.getReference() 메서드는 이제 콜백 매개변수가 정의되어 있을 것입니다. 예: g_form.getReference(fieldName, callback) 모든 g_form.getReference() 호출은 콜백 매개변수를 포함해야 합니다. 예를 들어, 다음 스크립트는 콜백을 포함하지 않고 Mobile Platform과 호환되지 않습니다. var userName = g_form.getReference('assigned_to').user_name; g_form.setValue('u_assigned_user_name', userName); 다음 스크립트가 콜백을 포함하도록 업데이트되었으며 Mobile Platform과 호환됩니다. g_form.getReference('assigned_to', function(now_GR) { g_form.setValue('u_assigned_user_name', gr.user_name); }); |
| 동기식 Ajax 호출을 하지 마십시오 | Mobile Platform은 동기식 GlideAjax 호출을 허용하지 않습니다. GlideAjax 호출에서 getXMLWait()의 사용은 Mobile Platform에서 작동하지 않습니다. 모든 GlideAjax 호출이 비동기식인지 확인하십시오. 동기 대 비동기 GlideAjax 호출 및 getXMLWait()에 대한 자세한 내용은 [AJAX](https://www.servicenow.com/docs/access?context=p_AJAX&version=xanadu&pubname=xanadu-application-development&ft:locale=en-US)를 참조하십시오. 사용 가능한 GlideAjax 메서드에 대한 자세한 내용은 [GlideAjax API](https://servicenow-prod.fluidtopics.net/RDSWjfyWDKhUqSPjhKw8yQ#c_GlideAjaxAPI "GlideAjax 클래스를 사용하면 클라이언트 스크립트가 스크립트 포함에서 서버 측 코드를 호출할 수 있습니다.")를 참조하십시오. |
| 동기식 GlideRecord 호출 금지 | 모바일 플랫폼에서는 동기식 [GlideRecord](https://servicenow-prod.fluidtopics.net/2W~ifl1LvyXJ6zdY~n~R1Q#c_GlideRecordScopedAPI "범위가 지정된 GlideRecord API는 데이터베이스 운영에 사용됩니다.") 호출을 허용하지 않습니다. 기존 GlideRecord 호출은 콜백을 포함해야 합니다. 예를 들어, 다음 스크립트는 콜백을 포함하지 않고 Mobile Platform과 호환되지 않습니다. var now_GR = new GlideRecord('incident'); gr.addQuery('number', g_form.getValue('related_incident')); gr.query(); gr.next(); g_form.setValue('u_related_incident_description', gr.short_description); 다음 스크립트가 콜백을 포함하도록 업데이트되었으며 Mobile Platform과 호환됩니다. var now_GR = new GlideRecord('incident'); gr.addQuery('number', g_form.getValue('related_incident')); gr.query(function(now_GR) { gr.next(); g_form.setValue('u_related_incident_description', gr.short_description); }); |
| Mobile Platform에서 사용할 수 없는 메서드를 사용하지 않습니다. | Mobile Platform에 가해진 제한사항과 기능 감소로 인해, 다음 메서드는 사용되지 않게 되지는 않았지만 Mobile Platform에서 사용할 수 없습니다. 이러한 메서드가 Mobile Platform에서 실행될 경우, 아무런 작업이 발생하지 않습니다. * showRelatedList () * hideRelatedList () * showRelatedLists () * hideRelatedLists() * flash() * getSections() * enableAttachments() * disableAttachments() * setReadonly()(setReadOnly()는 사용할 수 있음) * getParameter() |
| 모바일용 스크립트 활성화 | Mobile Platform에 대해 스크립트를 활성화해야 합니다. |
[표 1. 요구사항]

{#r_MobilePlatformMigrationImpacts__table_Requirements}  
주:  
모바일 양식의 요소에 포커스를 주는 것은 지원되지 않습니다.

## UI 정책 {#r_MobilePlatformMigrationImpacts__UIPolicies}

UI 형식으로 스크립트 실행 필드를 사용하여 Mobile Platform, 데스크톱 또는 둘 다 중 어디에서 스크립트가 실행되는지를 결정하십시오. Mobile Platform 또는 둘 다에 적용되도록 기존 정책을 업데이트합니다. 또한 새 스크립트의 경우, 모바일 옵션 또는 둘 다 선택되어야 합니다.

## 탐색기 모듈

기존 코드의 경우, Mobile Platform에서 사용할 수 있으려면 sys_ui_application 또는 sys_ui_module 테이블로 모듈을 전송해야 합니다. 새 코드를 개발할 때 모든 모듈이 sys_ui_application 또는 sys_ui_module 테이블에 생성되어야 합니다.

## UI 작업

UI 작업을 sys_ui_ng_action 테이블로 전송하여 Mobile Platform에서 표시해야 합니다. 사용되지 않는 메서드를 사용하지 않는 UI 작업 스크립트는 스크립트 자체를 변경할 필요가 없습니다. 새 UI 작업의 경우, sys_ui_ng_action 테이블에 생성해야 합니다.

