클라이언트 스크립트 API - ServiceNow Fluent

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기3분
  • 클라이언트 스크립트 API에는 클라이언트 기반 이벤트가 발생할 때(예: 양식이 로드될 때, 양식 제출 후 또는 필드 값이 변경된 경우) 클라이언트(웹 브라우저)에서 JavaScript를 실행하는 클라이언트 스크립트[sys_script_client]를 정의하는 객체가 포함되어 있습니다.

    ClientScript 객체

    클라이언트 스크립트 [sys_script_client]를 작성하여 사용자가 양식을 사용하는 동안 양식, 양식 필드 및 필드 값을 구성합니다.

    표 1. 속성
    이름 유형 설명
    $id 문자열 또는 숫자 필수 다음 형식으로 제공되는 메타데이터 개체의 고유 ID입니다. 여기서 <value> 는 문자열 또는 숫자입니다.
    $id: Now.ID[<value>]

    애플리케이션을 빌드할 때 이 ID는 고유한 sys_ID로 해시됩니다.

    테이블 문자열 필수 클라이언트 스크립트가 실행되는 테이블의 이름입니다.
    이름 문자열 필수 클라이언트 스크립트의 이름입니다.
    활성 부울 클라이언트 스크립트를 사용할 수 있는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 스크립트가 활성화됩니다.
    • false: 스크립트를 사용할 수 없습니다.

    기본값: true

    applies_extended 부울 클라이언트 스크립트가 지정된 테이블에서 확장된 테이블에 적용되는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 스크립트가 확장된 테이블에 적용됩니다.
    • false: 스크립트가 확장된 테이블에 적용되지 않습니다.

    기본값: false

    ui_type 문자열 클라이언트 스크립트가 적용되는 사용자 인터페이스입니다.

    유효한 값: desktop, mobile_or_service_portal, all

    기본값: desktop

    설명 문자열 클라이언트 스크립트의 기능과 용도에 대한 설명입니다.
    메시지 문자열 getmessage('[message]')를 사용하여 지역화된 메시지로 클라이언트 스크립트에서 사용할 수 있는 텍스트 문자열입니다. 자세한 내용은 클라이언트 스크립트 메시지 번역을 참조하십시오.
    isolate_script 부울 스크립트가 직접 DOM, jQuery, 프로토타입 및 창 객체에 대한 액세스가 해제된 엄격 모드에서 실행되는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 스크립트를 격리하고 엄격 모드에서 실행하지 않습니다.
    • false: 엄격 모드에서 스크립트를 실행합니다.

    기본값: false

    스크립트 스크립트 인라인 스크립트 앞에 다음과 같은 형식의 스크립트 태그가 붙습니다.
    script: script`gs.info('info')`,
    주:
    JavaScript 모듈 또는 외부 공급업체 라이브러리에서 함수를 임포트하는 것은 클라이언트 스크립트에서 지원되지 않습니다.
    전역 부울 클라이언트 스크립트가 실행되는 테이블 뷰를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 스크립트가 모든 뷰에서 실행됩니다.
    • false: 지정된 뷰에서만 스크립트가 실행됩니다.

    기본값: true

    문자열 클라이언트 스크립트가 실행되는 테이블 뷰입니다. 이 속성은 전역 속성이 false로 설정된 경우에만 적용됩니다.
    유형 문자열 실행 시기를 정의하는 클라이언트 스크립트의 유형입니다. 지원되는 유형에 대한 자세한 내용은 다음 문서를 참조하십시오 Client scripts.

    유효한 값: onCellEdit, onChange, onLoad, onSubmit

    필드 문자열 클라이언트 스크립트가 적용되는 테이블의 필드입니다. 이 속성은 type 속성이 onChange 또는 onCellEdit로 설정된 경우에만 적용됩니다.
    import { ClientScript } from '@servicenow/sdk/core'
    
    export const cs = ClientScript({
       $id: Now.ID['my_scripts'], 
       name: 'my_scripts',
       table: 'incident',
       active: true, 
       applies_extended: false, 
       global: true,
       ui_type: 'all', 
       messages: '', 
       isolate_script: false, 
       type: 'onLoad',
       script: script`function onLoad() { const x = 'util' g_form.addInfoMessage(x) }`,
    })