0

我正在尝试在标签中完成一首歌曲时运行一段 JavaScript 代码,<cfmediaplayer>但是每当我将“playNext()”放入 onComplete 属性时,它都会向我提供一个错误,告诉我它必须是一个正确的名称,但那是正确的名字?有人知道我可能会出错吗?

<script type="text/javascript">
    function playNext(){
        <cfoutput>
            var #ToScript(URL.current, "trackNo")#;
        </cfoutput>
        trackNo++;
        $("#" + trackNo).click();
    }
</script>

<div style="margin: 0 auto; width: 500px;">
    <cfoutput query="getmusic" maxrows="1">
        <cfmediaplayer name="musicPlayer" source="/artists/music/#music_location#" autoplay="yes" height="500" width="500" title="#artist_name# - #music_name#" onComplete="playNext"></cfmediaplayer>
    </cfoutput>
</div>

这是我的代码,但是我刚刚注意到(使用 Web Developer 工具栏)它说 playNext 是未定义的,但显然我确实将它定义为显示。我想知道我可能做错了什么,据我所知,我的 JavaScript 看起来不错,但我是 JS 的新手,所以我可能犯了一个简单的错误。

4

3 回答 3

1

onComplete="playNext"不使用"playNext()"

于 2013-04-16T10:18:04.730 回答
0

我可能是错的,但我认为这与 CFIDE 映射有关。

ColdFusion 创建的许多客户端控件都需要 CFIDE/Scripts 文件夹。

一些 CFForm 元素,如日期选择器、多文件上传、cfajaxproxy、cfmediaplayer 等,需要将这些脚本映射或复制到站点。

这是一个可能有帮助的问题。

AJAX 和 Flash 内置插件无法通过 Web 访问 CFIDE 的解决方法

这是关于该主题的一般谷歌搜索

尝试一个简单的脚本来使播放器静音,您会收到任何“Coldfusion 未定义”错误。就像是

<script language ="javascript">
    ColdFusion.Mediaplayer.setMute('musicPlayer', true);
</script>
于 2013-04-16T11:06:57.063 回答
0

尝试在 onComplete 属性中调用“playNext()”作为 playNext,不带引号或括号。如果这不起作用,请使用 playNext()。让我知道这是否有帮助。

于 2013-04-16T10:12:30.913 回答