Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firefox loadedmetadata事件_Javascript_Html_Firefox_Video - Fatal编程技术网

Javascript Firefox loadedmetadata事件

Javascript Firefox loadedmetadata事件,javascript,html,firefox,video,Javascript,Html,Firefox,Video,当我使用事件处理程序时: on(“loadedmetadata”,函数(){…}) 调用回调时,Firefox似乎没有正确设置视频维度。铬的工作非常好。有没有办法在firefox上获得正确的视频尺寸 编辑: 如果我放置一个调试器并手动运行代码,它似乎可以工作。这让我相信这是某种比赛条件。但这对我来说没有意义,因为正在调用该方法,这意味着事件应该正确发生=应该设置维度 以下是一段代码片段: $("document").ready () -> # Setup variables

当我使用事件处理程序时:

on(“loadedmetadata”,函数(){…})

调用回调时,Firefox似乎没有正确设置视频维度。铬的工作非常好。有没有办法在firefox上获得正确的视频尺寸

编辑: 如果我放置一个调试器并手动运行代码,它似乎可以工作。这让我相信这是某种比赛条件。但这对我来说没有意义,因为正在调用该方法,这意味着事件应该正确发生=应该设置维度

以下是一段代码片段:

$("document").ready () ->
    # Setup variables
    video = $("#video")
    toolbar = $("#toolbar")
    canvas = $("#filter")
    context = canvas.get(0).getContext('2d')

    # Setup webcam
    # I have a separate webcam module that simply wraps the behavior of 
    # navigator.getMediaStream. Works fine in chrome.
    webcam.setup(() -> alert("Browser Unsupported."))
    webcam.getMedia({video:true}, (localMediaStream) ->
        video.attr("src", window.URL.createObjectURL(localMediaStream))

        # Video loaded event
        video.on "loadedmetadata", (e) ->
            # Turn on video controls
            video.prop("controls", true)
            # Setup canvas dimensions and add border
            width = video.width()
            height = video.height()
            canvas
                .css("border", "solid")
                .css("border-width", "1px")
                .attr("width", width)
                .attr("height", height)
            # In firefox, the width and height are 0! In chrome, they
            # are correct. I tested videoWidth/videoHeight and most other
            # variables. Does not work. 
解决方案摘要:

bugzilla.mozilla.org/show_bug.cgi?id=926753


Firefox bug,如果与网络摄像头一起使用,目前似乎无法正确调用视频事件。即使相机没有正确初始化和设置正确的尺寸,也很可能对正在“加载”的视频造成影响,因此所有调用都使用了不正确的值。

发布更完整的代码片段,并准确解释您看到的内容。很可能您还有一些我们看不到的错误。添加了一个带有注释说明的代码段。发现了。这确实是Firefox中的一个bug。该死。希望在我发表我的研究成果之前,这个问题会得到解决。我真的不想通过黑客攻击来实现兼容。截至2014年3月,这仍然是Firefox中一个尚未解决的bug。需要修复或解决方法!