2014-09-15 2 views
1

Google 번역 위젯을 사용하는 반응 형 사이트가 있습니다. 기이 한 일은 위젯이 이제는 두 번 나타납니다. 이는 간단한 HTML 페이지에 동일한 위젯 코드를 배치하면 한 번만 나타납니다. 이는 반응 형 디자인과 관련이있는 것 같습니다. 이 문제를 해결하는 방법에 대해서는 전혀 모른다. 아무도 이것을 보지 못했습니까?Google 번역 위젯이 두 번 나타납니다

업데이트.

나는 이것이 위도가 한 번만 나타나는 것을 제거하면 이것이 jquery.themepunch.showbizpro.min.js에 의해 발생한다는 것을 발견했습니다. 아직 해결할 방법을 찾지 못했지만 방법이있을 수 있습니다. 나는이 코드 조각을 발견했다.

<script> 
function googleTranslateElementInit() { 
    new google.translate.TranslateElement(
     { pageLanguage: 'sv' }, 
     'google_translate_element' 
    ); 

    /* 
     To remove the "powered by google", 
     uncomment one of the following code blocks. 
     NB: This breaks Google's Attribution Requirements: 
     https://developers.google.com/translate/v2/attribution#attribution-and-logos 
    */ 

    // Native (but only works in browsers that support query selector) 
    if(typeof(document.querySelector) == 'function') { 
     document.querySelector('.goog-logo-link').setAttribute('style', 'display: none'); 
     document.querySelector('.goog-te-gadget').setAttribute('style', 'font-size: 0'); 
    } 

    //If you have jQuery - works cross-browser - uncomment this 
    jQuery('.goog-logo-link').css('display', 'none'); 
    jQuery('.goog-te-gadget').css('font-size', '0'); 
} 
</script> 

이 코드는 로고를 제거, 그래서 내가 자바 스크립트를 사용하는 경우 그때 나는 단 하나의 왼쪽에있을 것입니다 확인하고 <select class="goog-te-combo">의 중복 발생을 제거 할 수 있다고 생각하고, 그게 가능합니까?

+0

몇 가지 코드를 제공해주십시오. – patrykf

+0

위젯이 제거되면 jquery.themepunch.showbizpro.min.js가 위젯을 한 번만 표시한다는 사실을 발견했습니다. 이 문제를 해결할 방법을 찾지 못했지만 방법이있을 수 있습니다.이 코드 조각을 발견했습니다. – MTplus

답변

1

이것은 부트 스트랩을 사용하여 발생했습니다. Google 번역 코드는 두 가지 인스턴스가있었습니다. 하나는 큰 화면 크기 용이고 다른 하나는 작은 화면에만 표시되었습니다. 둘 다 화면 크기에 관계없이 나타났습니다. visible-xs 및 hidden-xs와 같은 부트 스트랩 클래스는 Google Translate 버튼의 표시에 영향을주지 않는 것 같습니다.

0

RoR에서 동일한 문제가있었습니다. 터보 링크가있는 페이지를 현금화하여 문제가 발생했습니다. 나는 모든 링크를 비싸게 사용하여 그것을 해결했다. (스크립트가로드 될 때 body-tag에 attr "data-turbolinks ="false "를 추가 할 때)

0

안녕하세요! 나는 똑같은 문제가 있었고 나는 알지 못했다. 가장 좋은 방법은하지만 CSS 그냥 오버 플로우 추가로 고정 :.. 숨겨진과에 오른쪽 테두리

이 가 우리가 JS 파일에 솔루션 정말 저장 시간 다이빙을 얻을 때까지 시각적으로 문제를 해결

그것을 희망 건배!

0

글로벌 카운터를 설정할 수 있는지 확인하십시오. 한번 불렀다.

<div id="google_translate_element"></div> 

<script type="text/javascript"> 

    var duplicate_google_translate_counter = 0;//this stops google adding button multiple times 

    function googleTranslateElementInit() { 
     if (duplicate_google_translate_counter == 0) { 
      new google.translate.TranslateElement({pageLanguage: 'en'}, 'google_translate_element'); 
     } 
     duplicate_google_translate_counter++; 
    } 

</script> 
<script type="text/javascript" src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script> 
관련 문제