minstudio

Web Share API

네이티브 공유 UI 호출

Web Share API는 모바일 또는 데스크톱 OS의 네이티브(기본) 공유 다이얼로그를 웹 브라우저에서 직접 호출할 수 있게 해주는 기능입니다. 기존에는 카카오톡, 페이스북, 트위터 공유 버튼을 각각 별도로 구현해야 했으나, 이 API를 사용하면 사용자의 기기에 설치된 앱을 통해 직관적으로 링크, 텍스트, 파일을 공유할 수 있습니다.

보안 및 UX 이유로 이 기능은 반드시 사용자 인터랙션(클릭 등)에 의해 트리거되어야 하며, HTTPS 환경에서만 동작합니다.

OS Native Share DialogWeb BrowserUserOS Native Share DialogWeb BrowserUser공유하기 버튼 클릭navigator.share({title, url}) 호출네이티브 공유 UI 요청공유할 앱 목록 팝업 표시특정 앱 선택 (카카오톡, 메시지 등)Promise resolved (공유 완료)
// Web Share API를 사용한 콘텐츠 공유 예제

async function shareContent() {
  const shareData = {
    title: 'Minstudio 강좌',
    text: '최고의 프론트엔드 웹 퍼블리싱 강좌를 확인해보세요!',
    url: 'https://www.minstudio.app/'
  };

  // 브라우저가 Web Share API를 지원하는지 확인
  if (navigator.share) {
    try {
      await navigator.share(shareData);
      console.log('성공적으로 공유되었습니다.');
    } catch (err) {
      console.error('공유 중 오류가 발생했거나 사용자가 취소했습니다:', err);
    }
  } else {
    // 지원하지 않는 브라우저(일부 데스크톱 브라우저 등)를 위한 폴백(Fallback) 로직
    console.warn('이 브라우저는 Web Share API를 지원하지 않습니다.');
    console.log('대체 로직: URL 복사 기능 실행 등...');
  }
}

// 보통 버튼 클릭 이벤트에 바인딩하여 사용합니다.
// document.getElementById('shareBtn').addEventListener('click', shareContent);
console.log("Web Share API는 HTTPS 환경과 사용자 인터랙션이 필수입니다.");
Web Share API | Minstudio