미디어위키:Common.js: 두 판 사이의 차이

SKY's Kingshot
편집 요약 없음
편집 요약 없음
1번째 줄: 1번째 줄:
/* 이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다. */
/* =======================================
var gt_script = document.createElement('script');
  1. 마우스 오른쪽 클릭 및 복사 방지
gt_script.type = 'text/javascript';
  ======================================= */
gt_script.text = 'function googleTranslateElementInit2() {new google.translate.TranslateElement({pageLanguage: "ko", autoDisplay: false}, "google_translate_element2");}';
document.head.appendChild(gt_script);
 
var gt_api = document.createElement('script');
gt_api.type = 'text/javascript';
gt_api.src = 'https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit2';
document.head.appendChild(gt_api);
 
var gt_div = document.createElement('div');
gt_div.id = 'google_translate_element2';
gt_div.style.position = 'fixed';
gt_div.style.bottom = '20px'; // 하단 여백
gt_div.style.left = '20px';  // 좌측 여백
gt_div.style.zIndex = '9999';
document.body.appendChild(gt_div);
 
/* 마우스 오른쪽 클릭 방지 */
document.addEventListener('contextmenu', function(e) {
document.addEventListener('contextmenu', function(e) {
     e.preventDefault();
     e.preventDefault();
});
});


/* 키보드 단축키(F12, Ctrl+C, Ctrl+Shift+I) 방지 (선택 사항) */
/* 키보드 단축키(F12, Ctrl+C, Ctrl+Shift+I) 방지 */
document.addEventListener('keydown', function(e) {
document.addEventListener('keydown', function(e) {
     if (e.key === 'F12' || (e.ctrlKey && e.key === 'c') || (e.ctrlKey && e.shiftKey && e.key === 'I')) {
     if (e.key === 'F12' || (e.ctrlKey && e.key === 'c') || (e.ctrlKey && e.shiftKey && e.key === 'I')) {
31번째 줄: 14번째 줄:


/* =======================================
/* =======================================
   항상 떠 있는(플로팅) 구글 자동 번역기
   2. 항상 떠 있는(플로팅) 구글 자동 번역기 (우측 하단)
   ======================================= */
   ======================================= */
$(document).ready(function() {
$(document).ready(function() {
38번째 줄: 21번째 줄:
     translateDiv.id = 'google_translate_element';
     translateDiv.id = 'google_translate_element';
      
      
     // 2. CSS 스타일 (화면 우측 하단 고정)
     // 2. CSS 스타일 (화면 우측 하단 고정, 킹샷 오렌지 테마)
     translateDiv.style.position = 'fixed';
     translateDiv.style.position = 'fixed';
     translateDiv.style.bottom = '20px';
     translateDiv.style.bottom = '20px';

2026년 5월 16일 (토) 11:16 판

/* =======================================
   1. 마우스 오른쪽 클릭 및 복사 방지
   ======================================= */
document.addEventListener('contextmenu', function(e) {
    e.preventDefault();
});

/* 키보드 단축키(F12, Ctrl+C, Ctrl+Shift+I) 방지 */
document.addEventListener('keydown', function(e) {
    if (e.key === 'F12' || (e.ctrlKey && e.key === 'c') || (e.ctrlKey && e.shiftKey && e.key === 'I')) {
        e.preventDefault();
    }
});

/* =======================================
   2. 항상 떠 있는(플로팅) 구글 자동 번역기 (우측 하단)
   ======================================= */
$(document).ready(function() {
    // 1. 번역기를 담을 둥근 버튼 모양의 박스 생성
    var translateDiv = document.createElement('div');
    translateDiv.id = 'google_translate_element';
    
    // 2. CSS 스타일 (화면 우측 하단 고정, 킹샷 오렌지 테마)
    translateDiv.style.position = 'fixed';
    translateDiv.style.bottom = '20px';
    translateDiv.style.right = '20px';
    translateDiv.style.zIndex = '9999';
    translateDiv.style.backgroundColor = '#ffffff';
    translateDiv.style.border = '2px solid #FF8C00';
    translateDiv.style.borderRadius = '8px';
    translateDiv.style.padding = '5px 10px';
    translateDiv.style.boxShadow = '0 4px 8px rgba(0,0,0,0.2)';
    
    // 3. 화면에 추가
    document.body.appendChild(translateDiv);

    // 4. 구글 번역 스크립트 불러오기
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = '//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit';
    document.head.appendChild(script);
});

// 5. 구글 번역기 실행 함수
window.googleTranslateElementInit = function() {
    new google.translate.TranslateElement({
        pageLanguage: 'ko', 
        layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
        autoDisplay: false
    }, 'google_translate_element');
};