$f未定义 Flowplayer 实例

$f is undefined for Flowplayer instance

本文关键字:实例 Flowplayer 未定义      更新时间:2023-09-26

下面是代码:

<script language="JavaScript" type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script language="JavaScript" type="text/javascript" src="flowplayer/flowplayer.min.js"></script>
</head>
<body>
<a style="display: block;height:400px;width:600px;background-color: #ffffff;border: solid 1px #ccc;" id="fms"></a>
<script language="JavaScript" type="text/javascript">
    $f("fms", "flowplayer/flowplayer.swf", {
        clip: {
            url: 'livestream',
            live: true,
            provider: 'rtmp'
        },
        plugins: {
            rtmp: {
                url: 'flowplayer/flowplayer.rtmp-3.2.12.swf',
                netConnectionUrl: 'rtmp://myserver.com/live'
            }
        }
    });
</script>
</body>

当我尝试运行它时,我得到"未捕获的引用错误:未定义$f"作为错误。 一切似乎都正确加载。 flowplayer 文件是在本地安装的,但我直接测试了链接(jQuery 文件也是如此)。此外,我更改了$f文件的位置,但无济于事。似乎没有任何效果。 有什么指导吗?

我要检查的第一件事是flowplayer脚本肯定正在下载。

如果是这样,那么听起来你的JavaScript代码在你的flowplayer脚本完成之前就正在执行。 尝试用 jQuery(document).ready(); 包装代码

jQuery(document).ready(function ()
{
    $f("fms", "flowplayer/flowplayer.swf", {
        clip: {
            url: 'livestream',
            live: true,
            provider: 'rtmp'
        },
        plugins: {
            rtmp: {
                url: 'flowplayer/flowplayer.rtmp-3.2.12.swf',
                netConnectionUrl: 'rtmp://myserver.com/live'
            }
        }
    });
});

当你使用$f时,请确保你已经包含了 Flowplayer Javascript API,因为这是一个独立于主要 flowplayer js include

的文件

使用"flowplayer"而不是$f

flowplayer("fms", "flowplayer/flowplayer.swf", {
    clip: {
        url: 'livestream',
        live: true,
        provider: 'rtmp'
    },
    plugins: {
        rtmp: {
            url: 'flowplayer/flowplayer.rtmp-3.2.12.swf',
            netConnectionUrl: 'rtmp://myserver.com/live'
        }
    }
});

它应该只是$(,而不是$f(

此外,"language=javascript"已弃用,不再需要。