gpt4 book ai didi

google-chrome - Chrome WebRTC 屏幕共享扩展需要刷新

转载 作者:行者123 更新时间:2023-12-01 12:34:44 25 4
gpt4 key购买 nike

Chrome 引入了 WebRTC 屏幕共享扩展。在这种情况下,每个域都必须具有扩展程序,以便人们安装扩展程序以便使用 webrtc 共享屏幕。

这是我的用例:

  1. 在正在进行的 webrtc 视频通话中,如果一个人需要进行屏幕共享并且没有扩展程序,则在安装扩展程序后需要刷新页面。这会中断通话,两个人都需要再次加入通话。

  2. 我想使用 javascript 控制用户体验,以便不需要刷新。但是如果我们不进行刷新,html 页面将无法识别最近安装的扩展程序。

我看过很多与此相关的开源代码,但没有一个有与我类似的用例。他们假定扩展将在 session 期间安装。

不过,我看过 www.uberconference.com,他们有类似的用例。我尝试在实时通话期间安装屏幕共享扩展,它不需要刷新页面,也没有中断通话。它在安装扩展后立即进行屏幕共享。

我不明白他们是怎么做到的,因为优步不是开源的。许多人说安装扩展后必须刷新。在这种情况下的任何帮助将不胜感激。

以下是我使用内联安装安装 chrome 扩展程序的方法:

$scope.installExtension= function(){

!!navigator.webkitGetUserMedia
&& !!window.chrome
&& !!chrome.webstore
&& !!chrome.webstore.install &&
chrome.webstore.install('https://chrome.google.com/webstore/detail/<some-id>',
successInstallCallback,
failureInstallCallback
);

};

function successInstallCallback() {
//location.reload();
}
function failureInstallCallback(error) {
alert(error);
}

最佳答案

这是我们最近在 getScreenMedia 中更改的内容.查看pull request看看我们是怎么做到的:

我写了有关更改的信息 on my blog ,因此请查看更多详细信息,但重要的部分是:

Instead of creating a communication channel on chrome.runtime.connect, and messaging directly, we can use external messaging. Instead of posting a message to the window, which gets picked up by the content script and passed to the background script (and vice versa), we can use chrome.runtime.sendMessage(extensionId, options, callback) and, in the background script chrome.runtime.onMessageExternal. This works where the other solution doesn't, because background scripts are loaded immediately upon extension installation, whereas content scripts are injected on page load.

所以,基本上,扩展程序使用不同的权限:

"externally_connectable": {
"matches": [
"https://example.com/*"
]
}

还有一个不同的 API:

  • chrome.runtime.sendMessage 结合 chrome.runtime.onMessageExternal

代替

  • window.postMessage 结合 window.addEventListener('message')chrome.runtime.connect

至少两个不同的网站https://apps.mypurecloud.comhttps://beta.talky.io使用内联扩展安装进行屏幕共享,完全无需重新加载。

关于google-chrome - Chrome WebRTC 屏幕共享扩展需要刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30797878/

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