问题标签 [iwebbrowser2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4519 浏览

delphi - 如何将 TWebBrowser 控件重定向到自定义 URL?

例子:

  1. http://www.stackoverflow.com我使用 Web 浏览器控件导航到
  2. 顶部栏中有一个指向常见问题解答的链接,带有目标https://stackoverflow.com/faq
  3. http://math.stackexchange.com当我单击常见问题链接时,我需要重定向到例如
0 投票
0 回答
538 浏览

iwebbrowser2 - 在 IWebBrowser2 控件中启用本地闪存

我正在尝试使用 IWebBrowser2 控件加载包含本地 Flash 组件的本地 html 页面。

我已经放入了一个带有相关目录路径的文件.cfgC:\WINDOWS\system32\Macromed\Flash\FlashPlayerTrust

这些页面在 IE 中运行良好(单击“允许阻止的内容”栏后)。但是我无法在 IWebBrowser2 控件中工作。

Mark of the Web不起作用,也无法通过实现IInternetSecurityManager来启用 ActiveX 控件。

我也尝试CoInternetSetFeatureEnabled过不走运并设置:Internet 设置->高级->安全->允许活动内容在 MyComputer 上的文件中运行。

我能想到的唯一解决方案是使用本地服务器作为解决方法,但这实际上只是最后的手段。

有人设法使它工作吗?我错过了什么吗?

谢谢!

0 投票
2 回答
3618 浏览

c++ - 无法弄清楚如何在 Win32 对话框中托管 Web 浏览器(例如 IWebBrowser2)。ATL 好的,没有 MFC

我正在尝试在对话框中托管 Web 浏览器。我正在使用带有 Win32 和 ATL 的 C++,没有 MFC。有一个实现此功能的 ActiveX 控件 (IWebBrowser2)。诀窍是我似乎需要创建一个对话框类来实现数十个 COM 成员函数来完成此操作。没有更简单的方法吗?我一直在看 ATL(不是我不能使用 MFC,否则我会使用 CDHtmlDialog)但没有找到任何答案。

0 投票
3 回答
1155 浏览

c++ - C++, web browser control: cannot change encoding/charset

There's a document I'm displaying in a web browser ActiveX control hosted in a C++ app. This document has a META tag that specifies incorrect charset, so the output is funny. I know the correct encoding and want to change it programmatically to fix that. But whatever I try, the encoding remains unchanged.

I alredy tried, in various combinations and flavors:

  • IHTMLDocument2::put_Charset (after the document finished loading);
  • changing the "charset" property of the "META" tag (using IHTMLMetaElement);
  • deleting the "META" tag altogether (by setting its "outerHTML" to empty string);
  • refreshing the control.

The control demonstrates remarkable persistence in preserving the incorrect encoding. What are my other options? I can't manipulate the source of the document being loaded.

0 投票
1 回答
950 浏览

c++ - 使用 IHTMLDocument 而不是 IWebBrowser2

我想在我的 Win32 应用程序中显示一个简单的网页。

我读过这个问题

IWebBrowser2:如何强制链接在新窗口中打开?

我想在问题的答复中完全说明,但没有找到代码示例。

是否有一个简单的示例显示如何使用 IHTMLDocument 而不是 IWebBrowser2 在 Win32 应用程序中呈现 HTML 文档。

0 投票
1 回答
694 浏览

javascript - 在 C++ 中调试使用 IWebBrowser2 呈现的 javascript / html

我正在使用 Pandion(开源 jabber 客户端),C++ 使用 IWebBrowser2 设置了一个用于运行 html/javascript 的主机。所有的程序逻辑都是用js实现的。在 VS2010 中,如果我在调试器中启动应用程序,我可以调试 C++ 但不能调试 js。如果我在没有调试器的情况下开始然后附加它,我可以调试 js 但不能调试 C++。

  1. 有什么办法可以同时调试吗?
  2. 有什么方法可以像 Firefox 中的 firebug 或 IE 中的开发人员工具那样显示 html?

我试图解决的具体错误是,更新时,更新窗口会关闭,即使它不应该关闭。在 html 表单上调用提交,然后 js 调用 c++ 函数来中止文件下载。我试图追踪什么调用提交,但堆栈窗口只显示绑定到 onsubmit 的匿名函数。

0 投票
1 回答
3938 浏览

javascript - Delphi TWebBrowser 中的 Javascript,关闭线程

我正在尝试在 delphi 中构建一个允许用户使用谷歌地图的系统。一切正常,但我注意到每次创建新的 TWebBrowser 对象并加载处理 Google 地图的 javascript 时,都会生成许多新线程。

我的问题是,即使网络浏览器被破坏(并且它肯定被破坏),创建的线程仍然存在。我将这个程序设计为具有较长的运行时间,并且谷歌地图的打开和关闭会发生很多次,因此,一段时间后,已经生成了很多线程并且没有终止,以至于程序显着减慢。

有什么方法可以自己销毁这些线程,还是我做错了什么导致线程持续存在?

我的程序基于以下代码:

程序使用一个基本的析构函数,将 HTMLWindow 设置为导航到 about:blank。提前致谢

0 投票
2 回答
3174 浏览

c++ - 如何获取有关 Webbrowser 控件实例或 IE Webbrowser 的滚动条的信息?

我需要获取有关外部应用程序的Webbrowser控件的滚动条(位置、大小、可见性)的信息,我尝试使用上一个问题中的GetScrollBarInfo函数,但该函数总是返回 false,我用另一个应用程序检查了这个函数,并且工作正常,但不适用于 IE 或 Webbrowser 控件。So how I can get information about the scrollbars of an Webbrowser control instance or the IE Webbrowser?

0 投票
2 回答
6204 浏览

delphi - 像 Internet Explorer 一样使用 ctrl+鼠标滚轮时如何使 TWebBrowser 缩放?

根据

http://www.rendelmann.info/blog/CommentView,guid,356fbe68-3ed6-4781-90a4-57070a0141da.aspxhttp://msdn.microsoft.com/en-us/library/aa770056(v=vs. 85).aspx

使用控制键和鼠标滚轮让托管的 WebBrowser 进行缩放应该只需要IWebBrowser2.ExecWB(OLECMDID_OPTICAL_ZOOM, ...)使用 的pvaIn值进行调用100
但是在调用它之后,ctrl+mousewheel 仍然不会缩放内容

我在 Delphi 2007 中使用的代码:

0 投票
1 回答
1878 浏览

c++ - Tab 键在 IWebbrowser2 中不起作用

我正在使用 ActiveX 控件在 ATL 应用程序 (IWebbrowser2) 中实现嵌入式浏览器。问题是,我无法使用 tab 键在文本字段之间跳转。按tab键什么都不做。按 Enter 键按预期提交表单。例如在 facebook 登录站点上存在问题。如何使 tab 键正常工作?我必须激活 ATL 控件中的某些内容才能使其工作吗?

谢谢!

费边