Some time ago the Google section translate function has stopped working on most browsers (excluding Firefox), resulting in blank page with “about:blank#blocked” address when someone click on TRANSLATE link under the post (example post, does not need to log in or register to use translate feature: https://www.elvikom.pl/hp-probook-6560b-cure-uma-hr-hpb-mv-mb-v1-sam-sie-uruchamia-t65407.html).
I found that piece of code on stackoverflow: Google Translate shows blank screen in Chrome but I do not know where to place it exactly. Tried to add it right before closing </head>
tag as well as right after opening <body>
tag but cannot get this code working.
My code right after opening <body>
tag (still works on 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 -->
And my template (html) code:
<div class="goog-trans-section">{postrow.MESSAGE}<br /><br /><a href="javascript:void(0);"><span class="goog-trans-control"></span></a></div>
Advertisement
Answer
Just a moment after I have posted my question, I’ve tried to put that suggested code inside the function googleSectionalElementInit()
function. So my current code right after opening <body>
tag looks like that:
<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 -->
And now the translate function works perfectly fine on Chrome, Opera and Safari 🙂