Javascript 使用greyboxjs库使用googletts显示窗口

Javascript 使用greyboxjs库使用googletts显示窗口,javascript,django,text-to-speech,google-translate,Javascript,Django,Text To Speech,Google Translate,为了清晰起见,编辑了以下内容: 我有一个Django应用程序 我想使用谷歌tts的东西翻译我的网页上的某些项目。现在我有一个onclick,是的,我应该知道得更清楚,它从Django模板调用一个javascript函数,传递一个短语,该函数对其进行一些处理,插入逗号以更好地发音等等 我将url传递给灰盒,它会打开,没有问题,Firefox,chrome…等等。在窗口中放置一个嵌入式媒体播放器(本例中为gnome媒体播放器),这样它显然知道它是音频,但声音不会播放,这与我之前的另一个设置中播放的声

为了清晰起见,编辑了以下内容:

我有一个Django应用程序

我想使用谷歌tts的东西翻译我的网页上的某些项目。现在我有一个onclick,是的,我应该知道得更清楚,它从Django模板调用一个javascript函数,传递一个短语,该函数对其进行一些处理,插入逗号以更好地发音等等

我将url传递给灰盒,它会打开,没有问题,Firefox,chrome…等等。在窗口中放置一个嵌入式媒体播放器(本例中为gnome媒体播放器),这样它显然知道它是音频,但声音不会播放,这与我之前的另一个设置中播放的声音很奇怪,使用相同的浏览器,没有任何代码更改

下面是从my函数中对greybox函数的调用:

return GB_showCenter(caption, "http://translate.google.com/translate_tts?tl=en&q=I hate programming, don't you?");
现在,如果您使用相同的url并将其直接放在浏览器地址栏中,它将起作用。同样的调用也适用于非DJANGO模板,例如,如果我在一个纯Html文件中有相同的标记和相同的onlick,它就可以工作

我在LinuxMint中使用Firefox4,但在Opera11.10和Chrome中使用的是相同的

有什么想法吗?这可能与缓存有关吗

谢谢

p、 我也尝试了以下方法,但同样的,不起作用

window.open(url,caption,'width=400,height=200,toolbar=0,location=0,directories=no,status=0,menubar=0,scrollbars=n0,copyhistory=no,resizable=0');
更新:如果我在普通浏览器窗口中使用该链接,然后单击灰盒链接,它就会工作。我假设是因为文件在缓存中…

您的URL有缺陷:

return GB_showCenter(caption, "http://translate.google.com/translate_tts?tl=en?q=I hate programming, don't you?");
在“en”之后不应带有问号,而应带有符号和:

return GB_showCenter(caption, "http://translate.google.com/translate_tts?tl=en&q=I hate programming, don't you?");

而且,不,我喜欢编程。

好的,最后,使用greybox无法解决这个问题。做了一些实验,发现lightwindow是一个更好的选择。然而,prototype.js库和一些其他文件有点繁重,因此我正在考虑我的选择,以及将客户端上传负担降至最低的简洁方法,包括Visave javascript和所有越来越广泛的CSS内容。但是,为了原型化这个相当整洁的小语音模块,lightwindow完成了这项工作。此外,我认为grebox目前没有得到维护,因此这将是一个挑选骨骼并重新编写的问题。如果有必要的话,我宁愿从头开始。

啊,是的,很抱歉,我的代码不是这样的,我手工输入了它作为一个例子,我在那里有符号,但它仍然不起作用