gpt4 book ai didi

javascript - HTML5 视频链接在 Chrome 中不起作用

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

我有以下代码,可通过可公开访问的链接直接查看我的网络摄像头。

<!DOCTYPE html>
<html>
<head>
<title>webRTC Test</title>
</head>
<script type = "text/javascript">
function init()
{
if(navigator.webkitGetUserMedia)
{

navigator.webkitGetUserMedia({video:true}, onSuccess, onFail);

}
else
{
alert('webRTC not available');
}

}

function onSuccess(stream)
{
document.getElementById('camFeed').src = webkitURL.createObjectURL(stream);
var src = document.getElementById('camFeed').getAttribute('src');
document.getElementById('streamLink').href = src;
}

function onFail()
{
alert('could not connect stream');
}


</script>
<body onload = "init();" style="background-color:#ababab;">
<div style="width:352px; height:625px; margin:0 auto; background-color:#fff;">
<div>
<video id ="camFeed" width="320" height="240" autoplay>
</video>
</div>
<div>
<canvas id="photo" width="320" height="240">
</canvas>
</div>


<div style="margin: 0 auto; width:82px;">
<a id="streamLink">Visit Stream</a>
</div>
</div>

</div>
</body>
</html>

anchor 标记中生成的链接类似于:

blob:http%3A//sitename.com/7989e43a-334r-4319-b9c5-9dfu00b00cd0

访问 chrome 时告诉我“哎呀!此链接似乎已损坏。”

感谢帮助!

最佳答案

File API spec定义URL.createObjectURL。有几个部分使您在遵循规范的浏览器中尝试执行的操作变得不可能。

  • Section 11.5说:

    The origin of a Blob URI must be the origin of the script that called URL.createObjectURL. Blob URIs must only be valid within this origin.

    换句话说,createObjectURL 返回的 URI 只能在创建它们的网站上下文中使用(请参阅 RFC6454: The Web Origin Concept 了解 HTML 规范中“起源”)。您无法直接访问 createObjectURL 返回的 URL。

  • Section 11.6说:

    This specification adds an additional unloading document cleanup step: user agents must revoke any Blob URIs created with URL.createObjectURL from within that document.

    这意味着,即使您可以直接访问该 URL,一旦您离开调用 createObjectURL 的页面,创建的 URL 将不再存在。

关于javascript - HTML5 视频链接在 Chrome 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12237064/

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