我这段javascript为什么本地正常传到服务器上就不能显示呢?

2010-06-08 05:54:52 +08:00
 lin
其实我完全不懂,只是昨晚洗澡的时候想要做一个这样的小玩意。

然后就上网找了下javascript的介绍,自己学着写了这样一个东西:

http://meow.im/fun/meow-name/

我要它扭过头来的时候会叫!

我记得google translate有个发音的地址,然后就琢磨着写了段(其实有两个不同版本)让它发音的代码。

在本地测试是ok的。会叫的。

起码播放器是出来的。

在chrome,safari,firefox都ok。

可是我传到服务器上,就不行了。就不会叫了,播放器也没有跑出来了。

代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us" >
<head>
<title>meow</title>
<script type="text/javascript">
function touchMeow() {
var meowName = prompt("Pick me a name, meow!");
if (meowName) {
alert("Meow! I am " + meowName + "!")
document.getElementById("meowMe").src = "i/front.png";
newVoice = "http://translate.google.com/translate_tts?tl=en&q=my+name+is+" + meowName;
meowVoice = document.getElementById("myName");
meowVoice.innerHTML ="<embed src=" + newVoice + " autostart=true width=200px height=50px />"
//document.body.insertBefore(meowVoice, meowMe);
}
}
</script>
</head>
<body>
<img src="i/back.png" alt="back" width="200" height="200" onclick="touchMeow()" id="meowMe" />
&gt;&gt; <a href="http://meow.im">Back to Meow.im</a>
<div id="myName"></div>

</body>
</html>

请问是什么原因?谁肯指点一下?

我自己瞎琢磨了一整个通宵都不得其解。

拜谢!
6048 次点击
所在节点    问与答
5 条回复
xinzhi
2010-06-08 08:45:22 +08:00
可能是Referer或者UA的原因。Google TTS有类似防盗链的限制。
muxi
2010-06-08 10:19:52 +08:00
google TTS有防盗链的功能,不支持外部引用,你可以使用google对外发布的translate来翻译
lin
2010-06-08 11:47:04 +08:00
可是如果embed真接写在Html它就能出来。而且现在的情况是连播放器都没显示不只是没声。referer和ua我不知道是什么等下我起床后再查下。谢谢两位!
lin
2010-06-08 11:52:22 +08:00
或者帮我看看我的代码有没有错?这算是我的javascript hallo world了
lin
2010-06-08 18:46:39 +08:00
正常来讲应该是这样的:

http://v.youku.com/v_show/id_XMTc5ODgyOTQw.html

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/514

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX