在 WPF 中集成 Vimeo 的视频
Integration of Vimeo's video in WPF
我们在 Vimeo 上有一个帐户,我们可以在其中为特定观众显示一些视频。它们是私有的,我们自定义 ui 的播放器以禁用共享选项。观众唯一能做的就是播放视频。
此外,我们只定义了一个可以集成视频的特定域。所以我们在这个域上有一些网页,我们在其中集成了视频。
在 Firefox、Chrome 或 Edge 等网络浏览器中,如果我们访问托管在该域上的网页,则显示和播放都没有问题。但是如果我们使用 WPF webbrowser,网页可以显示视频,但是 Vimeo 的播放器显示一条消息,我们可以阅读视频,因为我们定义的隐私设置。
为什么在 Firefox 或其他浏览器中,我没有任何问题或消息来播放我域中网页的视频(我们想要的),而在 WPF 网络浏览器中,Vimeo 的播放器没有允许我在我域中的同一网页上播放视频吗?
感谢您的帮助。
WPF WebBrowser
控件使用嵌入在其 window 中的 Internet Explorer ActiveX 控件。因此,它具有与已安装版本的 Internet Explorer 相同的限制。默认情况下,它将使用 IE 7 兼容性,因此更现代的 JavaScript
可能无法正常工作。
您可以通过在 HTML 中使用固定的 DOCTYPE
来强制控件使用更现代的渲染引擎(但显然,您无法控制 Vimeo 的 HTML)或通过设置注册表项在机器上启动您的可执行文件,如 Microsoft 文章所述:Browser Emulation
您需要为您的 .exe 名称添加一个条目。例如,如果您的应用程序是 myviewer.exe,那么要获得 IE 11 渲染将是这样的。
HKEY_CURRENT_USER
SOFTWARE
Microsoft
Internet Explorer
Main
FeatureControl
FEATURE_BROWSER_EMULATION
myviewer.exe = (DWORD) 00011000
我们在 Vimeo 上有一个帐户,我们可以在其中为特定观众显示一些视频。它们是私有的,我们自定义 ui 的播放器以禁用共享选项。观众唯一能做的就是播放视频。
此外,我们只定义了一个可以集成视频的特定域。所以我们在这个域上有一些网页,我们在其中集成了视频。
在 Firefox、Chrome 或 Edge 等网络浏览器中,如果我们访问托管在该域上的网页,则显示和播放都没有问题。但是如果我们使用 WPF webbrowser,网页可以显示视频,但是 Vimeo 的播放器显示一条消息,我们可以阅读视频,因为我们定义的隐私设置。
为什么在 Firefox 或其他浏览器中,我没有任何问题或消息来播放我域中网页的视频(我们想要的),而在 WPF 网络浏览器中,Vimeo 的播放器没有允许我在我域中的同一网页上播放视频吗?
感谢您的帮助。
WPF WebBrowser
控件使用嵌入在其 window 中的 Internet Explorer ActiveX 控件。因此,它具有与已安装版本的 Internet Explorer 相同的限制。默认情况下,它将使用 IE 7 兼容性,因此更现代的 JavaScript
可能无法正常工作。
您可以通过在 HTML 中使用固定的 DOCTYPE
来强制控件使用更现代的渲染引擎(但显然,您无法控制 Vimeo 的 HTML)或通过设置注册表项在机器上启动您的可执行文件,如 Microsoft 文章所述:Browser Emulation
您需要为您的 .exe 名称添加一个条目。例如,如果您的应用程序是 myviewer.exe,那么要获得 IE 11 渲染将是这样的。
HKEY_CURRENT_USER
SOFTWARE
Microsoft
Internet Explorer
Main
FeatureControl
FEATURE_BROWSER_EMULATION
myviewer.exe = (DWORD) 00011000