gpt4 book ai didi

c++ - 如何更改 WebBrowser 全屏视频模式?

转载 作者:行者123 更新时间:2023-11-30 04:48:57 24 4
gpt4 key购买 nike

我有一个包含 2 WeBBrowser 的 C++ 项目在TableLayoutPanel它们并排设置,工作正常我导航正常但是当我访问特定网站并全屏播放视频时将我的整个显示器设置为全屏而不是仅设置 WeBBrowser本身,但是在其他网站上非常适合 WeBBrowser .有没有办法改变它显示全屏的方式?我想让它在 WeB​Browser 中全屏显示仅有的。我认为这与 Web​Browser​Base.​Active​XInstance 有关属性(property)或Web​Browser.​Document属性(property)。我在 Internet 上找到的大多数示例都是针对旧 VB 的,与全屏属性无关。

这是一个类似的问题: WebBrowser control video element enter fullscreen

在其他示例中,我看到了一种提取元素的方法:

HtmlElement^  object = webBrowser1->Document->GetElementById("video");

但我不知道如何处理该代码以便格式化该视频然后将其设置回 WeBBrowser固定全屏模式。

编辑:

我走得更远,我可以得到 <video>来自几个网站的元素,这是我的方法:

private: System::Void webBrowser1_DocumentCompleted(System::Object^  sender, System::Windows::Forms::WebBrowserDocumentCompletedEventArgs^  e) {
HtmlElementCollection^ videoElements = webBrowser1->Document->GetElementsByTagName("video");
videoElements[0]->SetAttribute("style", "width: 640px; height: 480px;"); //Not sure if this is a proper way to set an attribute in this element.
}

问题是不是每个网站都允许您访问 <video>标记元素,因此对于那些网站,我执行了以下代码以确保确实没有 <video>源代码中的标记元素:

System::Diagnostics::Debug::Write(webBrowser1->DocumentText);

然后我没有找到任何<video>输出中的标记元素,只有少数网站提供给我。为什么?如何真正正确地获取和操作<video>在 C++ 中标记元素?

最佳答案

Then I didn't find any tag element in the output, only a few websites provide me that. Why?

让我做一个有根据的猜测。对于您所指的某些页面,DOM 是动态和异步构建的。这意味着,那些 <video>标签可能还不存在。

因此,您可能需要一些异步轮询逻辑来监视 DOM 更改,特别是查找 <video>标签。

可能无法提出一个 100% 有效的解决方案来涵盖所有情况,但请查看 my other post它处理这个问题。

关于c++ - 如何更改 WebBrowser 全屏视频模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55622038/

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