구글 웹사이트 번역 플러그인 커스텀 -- 업데이트 부탁드립니다
본문
구글 웹사이트 번역 플러그인 커스텀 사용중인데요
갑자기 요며칠 사이에
Error: Could not find Google translate frame.
이런 에러가 뜨네요
고수님들 업데이트 부탁드립니다
답변 1
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>구글 번역 UI 커스터마이징 - 어포스트 2021.05.27</title>
<link rel="stylesheet" href="./flags.css">
<style>
.translation-links{
background-color: #f5f5f5;
max-width: 100%;
padding: 20px;
list-style: none;
}
.translation-links li{
height: 30px;
padding: 5px;
box-sizing: border-box;
}
.translation-links span{
float: left;
color: #000;
}
.translation-links .flag{
display: inline-block;
width: 30px;
height: 20px;
margin-right: 10px;
}
iframe{
display:none;
}
</style>
</head>
<body>
<div class="box_aside">
<div id="google_translate_element" style="display:none;"></div>
<!-- "새 번역 링크 UI" -->
<ul class="translation-links">
<li><a href="javascript:void(0)" class="english" data-lang="en" title="English"><span class="flag en"></span><span>English</span></a></li>
<li><a href="javascript:void(0)" class="japanese" data-lang="ja" title="日本語"><span class="flag ja"></span><span>Japanese</span></a></li>
<li><a href="javascript:void(0)" class="japanese" data-lang="zh-CN" title="中文(简体)"><span class="flag zh-CN"></span><span>Chinese(Simplified)</span></a></li>
<li><a href="javascript:void(0)" class="japanese" data-lang="zh-TW" title="中文(繁體)"><span class="flag zh-TW"></span><span>aiwanese(Traditional)</span></a></li>
<li><a href="javascript:void(0)" class="spanish" data-lang="es" title="español"><span class="flag es"></span><span>Spanish</span></a></li>
<li><a href="javascript:void(0)" class="japanese" data-lang="de" title="Deutsch"><span class="flag de"></span><span>German</span></a></li>
<li><a href="javascript:void(0)" class="japanese" data-lang="ru" title="Русский язык"><span class="flag ru"></span><span>Russian</span></a></li>
<li><a href="javascript:void(0)" class="japanese" data-lang="pt" title="Português"><span class="flag pt"></span><span>Portuguese</span></a></li>
<li><a href="javascript:void(0)" class="japanese" data-lang="fr" title="français"><span class="flag fr"></span><span>French</span></a></li>
</ul>
<script src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
<script type="text/javascript">
/* 구글 번역 초기화 */
function googleTranslateElementInit() {new google.translate.TranslateElement({pageLanguage: 'ko',autoDisplay: true}, 'google_translate_element');}
/* 새 UI 선택 클릭 이벤트가 발생하면
감춤 처리한 구글 번역 콤보리스트에
선택한 언어를 적용해 변경 이벤트를 발생시키는 코드 */
document.querySelector('.translation-links').addEventListener('click',function(event) {
let el = event.target;
if(el != null){
while(el.nodeName == 'FONT' || el.nodeName == 'SPAN'){el = el.parentElement;}//data-lang 속성이 있는 태그 찾기
const tolang = el.dataset.lang; // 변경할 언어 코드 얻기
const gtcombo = document.querySelector('.goog-te-combo');
if (gtcombo == null) {
alert("Error: Could not find Google translate Combolist.");
return false;
}
gtcombo.value = tolang; // 변경할 언어 적용
gtcombo.dispatchEvent(new Event('change')); // 변경 이벤트 트리거
}
document.body.style.cssText = ""
return false;
});
</script>
</div>
<div>
가나다
</div>
</body>
</html>
출처 : https://blogpack.tistory.com/955#google_vignette
도움이 되시길...
!-->
답변을 작성하시기 전에 로그인 해주세요.