Google 翻訳コードを PHP (wordpress プラグイン) からページに出力しようとしていますが、まったく同じコード行をコンソールに直接貼り付けて実行しても、Illegal Token エラーが発生します。
これが私のPHPです:
function AddTranslateSidebar(){
echo "<script>
jQuery(document).ready(function(){
gt = escape('<div id=\"google_translate_element\"></div><script type=\"text/javascript\">function googleTranslateElementInit() {new google.translate.TranslateElement({pageLanguage: \"en\", layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, \"google_translate_element\");}</script><script type=\"text/javascript\" src=\"http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit\"></script>');
jQuery('#sidebar').prepend(unescape(gt));
});
</script>";
}
このコードは、以下を HTML/JavaScript としてページに出力します。
<script>
jQuery(document).ready(function(){
gt = escape('<div id="google_translate_element"></div><script type="text/javascript">function googleTranslateElementInit() {new google.translate.TranslateElement({pageLanguage: "en", layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, "google_translate_element");}</script><script type="text/javascript" src="http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>');
jQuery('#sidebar').prepend(unescape(gt));
});
</script>
エラーの原因
Uncaught SyntaxError: Unexpected token ILLEGAL
gt = escape( ... ); について ライン。
ただし、インスペクターを使用してそのコードを HTML ソースから直接コピーし、コンソールに貼り付けて実行すると、機能し、翻訳ドロップダウンが表示されます。
なぜこうなった?
ありがとう。