Detecting Google Chrome Translation

前端 未结 4 2196
难免孤独
难免孤独 2020-12-15 20:39

I\'ve added the Google Translation Bar to our website but due to how the layout works if the translation on the main navigation is longer than English is pushes some links d

4条回答
  •  清酒与你
    2020-12-15 20:52

    Maybe try using js to detect if menu content has changed and then apply new styles.

    UPDATE

    When Chrome translates a page it adds several elements to a page:

    • two script elements to head tag
    • global object window.google
    • class = "translated-ltr" to html tag
    • div id="goog-gt-tt" to body tag

    You can watch for changes in DOM to find out when content is translated:

    document.addEventListener('DOMSubtreeModified', function (e) {
        if(e.target.tagName === 'HTML' && window.google) {
            if(e.target.className.match('translated')) {
                // page has been translated
             } else {
                // page has been translated and translation was canceled
            }
       }
    }, true);
    

提交回复
热议问题