gpt4 book ai didi

JavaScript 行为不一致

转载 作者:行者123 更新时间:2023-11-28 08:42:42 26 4
gpt4 key购买 nike

我的 JavaScript 似乎有一个小问题:它在 JSFiddle 上按预期工作,但从本地 .html 文件打开时却无法工作。

这是我硬盘上的代码:

<html>

<head>
<script type='text/javascript'>
window.onPlayerLoad = function () {
alert("test");
};
</script>
</head>

<body>
<object bgcolor='#000000' data='http://www.twitch.tv/widgets/archive_embed_player.swf' height='378' id='clip_embed_player_flash' type='application/x-shockwave-flash' width='620'>
<param name='movie' value='http://www.twitch.tv/widgets/archive_embed_player.swf'>
<param name='allowScriptAccess' value='always'>
<param name='allowNetworking' value='all'>
<param name='allowFullScreen' value='true'>
<param name='flashvars' value='title=IEM%2BSingapore&amp;channel=esltv_sc2&amp;auto_play=false&amp;start_volume=25&amp;archive_id=484099469&amp;initCallback=onPlayerLoad'>
</object>
</body>

</html>

这是 JSFiddle 上的:http://jsfiddle.net/77Bpa/ .

此代码的目的是加载 Twitch 播放器并在加载完成后调用函数。应调用的函数是 window.onPlayerLoad,它通过 initCallback flashvar 传递给 flash 对象(请参阅 Twitch Player API)。

因此,在 JSFiddle 上,警报会按预期弹出,但是当我在本地打开文件时,没有这样的效果。 Firefox 和 Internet Explorer 均表示 window.onPlayerLoad 存在,但并未被调用。

导致此问题的原因可能是什么?

提前致谢。

最佳答案

正如我的评论中所述,问题是闪存不会调用回调,因为一些我不知道的原因 - 与它所使用的页面请求中使用的协议(protocol)有关。使用 http://而不是 file://可以解决该问题。因此,只需上传或使用本地主机来请求播放器的页面就可以正常工作,但在从本地文件系统将 html 文件加载到浏览器时会失败。

关于JavaScript 行为不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20313993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com