Hace algún tiempo, la función de traducción de la sección de Google dejó de funcionar en la mayoría de los navegadores (excluyendo Firefox), lo que resultó en una página en blanco con la dirección "acerca de: en blanco # bloqueada" cuando alguien hace clic en el enlace TRADUCIR debajo de la publicación (publicación de ejemplo, no necesita iniciar sesión o regístrese para usar la función de traducción: https://www.elvikom.pl/hp-probook-6560b-cure-uma-hr-hpb-mv-mb-v1-sam-sie-uruchamia-t65407.html ).
Encontré ese fragmento de código en stackoverflow: Google Translate muestra una pantalla en blanco en Chrome , pero no sé dónde colocarlo exactamente. Intenté agregarlo justo antes de cerrar la etiqueta </head> , así como justo después de abrir la etiqueta <body> , pero no puedo hacer que este código funcione.
Mi código justo después de abrir la etiqueta <body> (todavía funciona en Firefox):
<script> function googleSectionalElementInit() { new google.translate.SectionalElement({ sectionalNodeClassName: 'goog-trans-section', controlNodeClassName: 'goog-trans-control', background: '#f4fa58' }, 'google_sectional_element'); } </script> <!-- IF S_USER_LANG eq 'pl' --> <script src="//translate.google.com/translate_a/element.js?cb=googleSectionalElementInit&ug=section&hl=pl"></script> <!-- ELSEIF S_USER_LANG eq 'ru' --> <script src="//translate.google.com/translate_a/element.js?cb=googleSectionalElementInit&ug=section&hl=ru"></script> <!-- ELSEIF S_USER_LANG eq 'en' --> <script src="//translate.google.com/translate_a/element.js?cb=googleSectionalElementInit&ug=section&hl=en"></script> <!-- ELSEIF S_USER_LANG eq 'sl' --> <script src="//translate.google.com/translate_a/element.js?cb=googleSectionalElementInit&ug=section&hl=sl"></script> <!-- ELSEIF S_USER_LANG eq 'de' --> <script src="//translate.google.com/translate_a/element.js?cb=googleSectionalElementInit&ug=section&hl=de"></script> <!-- ELSEIF S_USER_LANG eq 'it' --> <script src="//translate.google.com/translate_a/element.js?cb=googleSectionalElementInit&ug=section&hl=it"></script> <!-- ENDIF -->Y mi código de plantilla (html):
<div class="goog-trans-section">{postrow.MESSAGE}<br /><br /><a href="javascript:void(0);"><span class="goog-trans-control"></span></a></div>Justo un momento después de haber publicado mi pregunta, intenté colocar el código sugerido dentro de la function googleSectionalElementInit() . Así que mi código actual justo después de abrir la etiqueta <body> se ve así:
<script> function googleSectionalElementInit() { new google.translate.SectionalElement({ sectionalNodeClassName: 'goog-trans-section', controlNodeClassName: 'goog-trans-control', background: '#f4fa58' }, 'google_sectional_element'); $(document).ready(function(){ setTimeout( function() { $(".goog-te-gadget-link").click(function(){ $(this).attr('href', 'javascript:;'); }); }, 2000); }); } </script> <!-- IF S_USER_LANG eq 'pl' --> <script src="//translate.google.com/translate_a/element.js?cb=googleSectionalElementInit&ug=section&hl=pl"></script> <!-- ELSEIF S_USER_LANG eq 'ru' --> <script src="//translate.google.com/translate_a/element.js?cb=googleSectionalElementInit&ug=section&hl=ru"></script> <!-- ELSEIF S_USER_LANG eq 'en' --> <script src="//translate.google.com/translate_a/element.js?cb=googleSectionalElementInit&ug=section&hl=en"></script> <!-- ELSEIF S_USER_LANG eq 'sl' --> <script src="//translate.google.com/translate_a/element.js?cb=googleSectionalElementInit&ug=section&hl=sl"></script> <!-- ELSEIF S_USER_LANG eq 'de' --> <script src="//translate.google.com/translate_a/element.js?cb=googleSectionalElementInit&ug=section&hl=de"></script> <!-- ELSEIF S_USER_LANG eq 'it' --> <script src="//translate.google.com/translate_a/element.js?cb=googleSectionalElementInit&ug=section&hl=it"></script> <!-- ENDIF -->Y ahora la función de traducción funciona perfectamente bien en Chrome, Opera y Safari :)