Skip to content

Commit

Permalink
Merge pull request #112 from CHZZK-Study/dev
Browse files Browse the repository at this point in the history
[FIX] 카톡 리다이렉트
  • Loading branch information
oyeong011 authored Oct 13, 2024
2 parents ca441a7 + 64e1cfd commit 7bc21e2
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 2 deletions.
72 changes: 72 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,77 @@
<body>
<div id="root"></div>
<script type="module" type="image/svg+xml" src="/src/main.tsx"></script>
<script type="text/javascript" charset="UTF-8">
var inappdeny_exec_vanillajs = (callback) => {
if (document.readyState !== 'loading') {
callback();
} else {
document.addEventListener('DOMContentLoaded', callback);
}
};
inappdeny_exec_vanillajs(() => {
/* Do things after DOM has fully loaded */
function copytoclipboard(val) {
var t = document.createElement('textarea');
document.body.appendChild(t);
t.value = val;
t.select();
document.execCommand('copy');
document.body.removeChild(t);
}
function inappbrowserout() {
copytoclipboard(window.location.href);
alert(
'URL주소가 복사되었습니다.\n\nSafari가 열리면 주소창을 길게 터치한 뒤, "붙여놓기 및 이동"를 누르면 정상적으로 이용하실 수 있습니다.'
);
location.href = 'x-web-search://?';
}

var useragt = navigator.userAgent.toLowerCase();
var target_url = location.href;

if (useragt.match(/kakaotalk/i)) {
//카카오톡 외부브라우저로 호출
location.href =
'kakaotalk://web/openExternal?url=' +
encodeURIComponent(target_url);
} else if (useragt.match(/line/i)) {
//라인 외부브라우저로 호출
if (target_url.indexOf('?') !== -1) {
location.href = target_url + '&openExternalBrowser=1';
} else {
location.href = target_url + '?openExternalBrowser=1';
}
} else if (
useragt.match(
/inapp|naver|snapchat|wirtschaftswoche|thunderbird|instagram|everytimeapp|whatsApp|electron|wadiz|aliapp|zumapp|iphone(.*)whale|android(.*)whale|kakaostory|band|twitter|DaumApps|DaumDevice\/mobile|FB_IAB|FB4A|FBAN|FBIOS|FBSS|trill|SamsungBrowser\/[^1]/i
)
) {
//그외 다른 인앱들
if (useragt.match(/iphone|ipad|ipod/i)) {
//아이폰은 강제로 사파리를 실행할 수 없다 ㅠㅠ
//모바일대응뷰포트강제설정
var mobile = document.createElement('meta');
mobile.name = 'viewport';
mobile.content =
'width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no, minimal-ui';
document.getElementsByTagName('head')[0].appendChild(mobile);
//노토산스폰트강제설정
var fonts = document.createElement('link');
fonts.href =
'https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap';
document.getElementsByTagName('head')[0].appendChild(fonts);
document.body.innerHTML =
"<style>body{margin:0;padding:0;font-family: 'Noto Sans KR', sans-serif;overflow: hidden;height: 100%;}</style><h2 style='padding-top:50px; text-align:center;font-family: 'Noto Sans KR', sans-serif;'>인앱브라우저 호환문제로 인해<br />Safari로 접속해야합니다.</h2><article style='text-align:center; font-size:17px; word-break:keep-all;color:#999;'>아래 버튼을 눌러 Safari를 실행해주세요<br />Safari가 열리면, 주소창을 길게 터치한 뒤,<br />'붙여놓기 및 이동'을 누르면<br />정상적으로 이용할 수 있습니다.<br /><br /><button onclick='inappbrowserout();' style='min-width:180px;margin-top:10px;height:54px;font-weight: 700;background-color:#31408E;color:#fff;border-radius: 4px;font-size:17px;border:0;'>Safari로 열기</button></article><img style='width:70%;margin:50px 15% 0 15%' src='https://tistory3.daumcdn.net/tistory/1893869/skin/images/inappbrowserout.jpeg' />";
} else {
//안드로이드는 Chrome이 설치되어있음으로 강제로 스킴실행한다.
location.href =
'intent://' +
target_url.replace(/https?:\/\//i, '') +
'#Intent;scheme=http;package=com.android.chrome;end';
}
}
});
</script>
</body>
</html>
2 changes: 0 additions & 2 deletions src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import { getUserProfile } from './apis/user.api';
import { getMemberType } from './utils/auth';
import useUserStore from './store/userStore';
import { getTokenFromStorage } from './utils/token';
import useExternalBrowserRedirect from './hooks/useExternalBrowserRedirect';

if (process.env.NODE_ENV === 'development') {
setupLocatorUI();
Expand Down Expand Up @@ -44,7 +43,6 @@ function App() {
}
}, [setUser]);

useExternalBrowserRedirect();
return (
<QueryClientProvider client={queryClient}>
<ThemeProvider theme={theme}>
Expand Down

0 comments on commit 7bc21e2

Please sign in to comment.