谷歌音译没有在tinymce编辑器中工作

时间:2015-05-20 08:13:07

标签: javascript tinymce transliteration

我尝试将 google音译整合到编辑器 tinymce 的项目中。我的 textarea

<script src="http://tinymce.cachefly.net/4.0/tinymce.min.js"></script>
<script type="text/javascript">
tinymce.init({
    selector: "textarea",
    plugins: [
        "advlist autolink lists link image charmap print preview anchor",
        "searchreplace visualblocks code fullscreen",
        "insertdatetime media table contextmenu paste"
    ],
    toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"
});
</script>

我关注this tutorial以整合Google音译,并将我的textarea的ID <textarea id="to_be_translated" style="width: 100%; display: none;" aria-hidden="true"></textarea> 发送到以下行

  

control.makeTransliteratable([&#39; to_be_translated&#39;])

并使用以下代码为上述textarea实现Tinymce。

_ifr

当页面加载时,只有Tinymce工作,但音译没有。我无法找到背后的原因。有人可以建议一种解决问题的方法吗?

1 个答案:

答案 0 :(得分:1)

如果您尝试在使用Tinymce时将 textarea的ID 添加到Google音译的代码中,则会出现此问题。如果您在不调用Tinymce的情况下提供 textarea的ID 来修改您的textarea,则没有问题。但是当你使用Tinymce时,它会修改你的代码并像这样隐藏你的textarea,

<iframe id="to_be_translated_ifr" style="width: 100%; height: 100px; display: block;"></iframe>

因此,您无法使用textarea的id进行音译。 的

<强>解决方案

如果您尝试检查tinymce的编辑器窗口,您将看到一个iframe,如下所示,其id与您的textarea的id相似,但附加了{{1}}。

{{1}}

现在,如果你尝试修改像这样的谷歌音译代码,

  

control.makeTransliteratable([&#39; to_be_translated_ifr&#39;])

谷歌音译将与Tinymce一起开始工作。因此,简而言之,Tinymce将隐藏您的textarea并使用id为像textarea的iframe但附加了_ifr。
为了在使用Tinymce编辑器时使谷歌音译工作,您必须将iframe的ID提供给音译代码而不是textarea的ID。