사용자:Hsl0/스크립트 가이드라인
< 사용자:Hsl0
이 문서는 리버티게임의 정책이나 지침 등으로 제안된 상태입니다.
- '스크립트'는 사용자의 브라우저에서 작동하는 자바스크립트 프로그램을 말하며, 플러그인, 소도구, '미디어위키:' 이름공간에 저장되어 '.js' 확장자를 가지는 시스템 인터페이스, '사용자:' 이름공간에 저장되어 '.js' 확장자를 가지는 사용자 스크립트 등을 일컫는다.
- 사용자가 스스로 작성하여 직접 실행하는 사용자 스크립트에는 제한을 두지 않는다.
- 단, 문서 훼손 목적의 대량 편집, 시스템 취약점 악용 등 악의적인 목적으로 사용할 경우에는 관리자가 삭제할 수 있다.
- 관리자의 승인을 받지 않거나, 스크립트를 실행하는 사용자의 동의를 받지 않은 스크립트가 실행되어서는 안 된다.
- 동일한 코드의 스크립트는 한번 동의를 받으면 그 이후 동의 없이 실행할 수 있다. 단, 동의는 철회할 수 있어야 하며, 다음번에는 묻지 않는다는 점을 명시해야 한다.
- 문서 편집, 요소 수정, 설정 변경, 외부 링크로 리다이렉트, 기타 다른 스크립트에 영향을 주는 기능이 포함된 스크립트는 해당 기능에 대한 개별적인 동의도 필요하다.
- 2항의 기능이 사용될 우려가 없는 샌드박스 환경에서 작동되지 않는 한 사용자가 스크립트를 동의할 때 코드의 의미를 알 수 있어야 하고 난독화되어서는 안된다.
- 스크립트를 실행하는 사용자의 동의를 받지 않고 자동으로 문서를 편집할 수 없다.
- 고정된 템플릿을 이용하여 동일한 문서를 편집하는 경우 한번 동의를 받으면 그 이후 동의 없이 자동으로 문서를 편집할 수 있다. 단, 동의는 철회할 수 있어야 하며, 다음번에는 묻지 않는다는 점을 명시해야 한다.
- 편집할 가능성이 있는 문서 목록이나 문서 제목의 패턴을 제시하여 일괄적으로 동의를 받을 수 있다. 단, 지금 저장하는 문서와 관련없는 문서 목록이나 패턴을 함께 동의받을 수 없다.
- 고정된 템플릿을 이용하여 동일한 문서를 편집하는 경우 한번 동의를 받으면 그 이후 동의 없이 자동으로 문서를 편집할 수 있다. 단, 동의는 철회할 수 있어야 하며, 다음번에는 묻지 않는다는 점을 명시해야 한다.
- 다른 스크립트에서 사용하는 함수나 이벤트, 설정은 가급적 변경하지 않는다.
- 다른 스크립트와 충돌하는 HTML ID/클래스, 로컬 저장소, 미디어위키 사용자 옵션 키를 사용하지 않는다.
- 가급적 사이트 외부와 데이터를 주고받지 않는다.
- 주요 브라우저(크롬, 파이어폭스, 사파리)의 정식 출시된 최신버전에서 정상적으로 작동되어야 한다.
- 스크립트가 사이트의 성능을 현저하게 저하시키거나, 저하시킬 우려가 있는 방식으로 구현되면 안된다.
- 취약점이 있거나 악용의 우려가 있는 스크립트는 관리자가 재량껏 등록 거부하거나 (소도구, 시스템 인터페이스) 실행되지 못하게 조치할 수 있다. 단, 이유는 명시해야 한다.