问题标签 [beforenavigate2]
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.
winapi - Windows 7 不会触发 DISPID_BEFORENAVIGATE2 事件?
我有一个 BHO,它应该在 Windows 资源管理器浏览本地磁盘时拦截 DISPID_BEFORENAVIGATE2 事件。它在 XP 和 Vista 中运行良好,但在 Windows 7 RC 中停止运行。
结果,当浏览本地文件夹时,Windows 7 RC 停止发送 DISPID_BEFORENAVIGATE2 事件!它确实会向我的 BHO 发送其他事件(例如 DISPID_DOWNLOADBEGIN 等),但我需要 DISPID_BEFORENAVIGATE2。
任何人都可以确认这一点和/或提供可能的解决方法吗?
谢谢!
c++ - BeforeNavigate2 不返回 URL 参数
我有一个使用 Microsoft WebBrowser 控件显示浏览器的 C++ 程序。我将 URL 参数中的提示传递给代码,以便可以采取替代操作,而不是简单地允许浏览器导航到新页面。
例如,我可能会传递 URL“WRITE.EXE?RUN”来表明我想在 URL 中运行可执行文件。
在 C# 中,我在 BeforeNavigate 事件中获得了整个 URL,但我只获得了 ? 的 URL。因此,在 C# 中,我得到“WRITE.EXE?RUN”,而在 C++ 中,传递给 BeforeNavigate2 的 URL 只是“WRITE.EXE”
关于如何通过 C++ 访问整个 URL 的任何想法?
c# - 使用 WPF 浏览器控件时如何覆盖 ie 的 BeforeNavigate2?
据我了解,WPF 的 Brwoser 控件是 ie Active-X 控件的包装。后者有一个 BeforeNavigate2 方法,而我在 WPF WebBrowser 控件中没有找到它。有没有办法解决这个问题?
谢谢!马克
c# - 在 C# 中的 axWebBrowser 控件中自动执行 FileDownload 的问题
我正在做一个项目,试图在我的公司抓取一个 Intranet 站点,因为现在有一些限制阻止我在服务器端获得帮助。我正在编写一个使用 axWebBrowser 控件导航到页面的 C# 客户端。进入页面后,有一个按钮控件调用 .aspx 页面,该页面从 sql 查询创建 csv 文件的动态下载。在正常情况下,这会打开一个 FileDownload 对话框来保存 csv。
我发现人们使用 BeforeNavigate2 事件捕获 e.uRL,然后使用 FileDownload 事件覆盖对话框并使用 WebClient 检索文件的示例。除了 e.uRL 包含 .aspx 脚本的 url 而不是动态创建的 .csv 文件之外,此方法对我来说可以正常工作。
我读到的另一个建议是从 HTML 请求中解析文件路径的标题,但是当我这样做时,我在标题上抛出了 401 Unauthorized Access 异常。
最后,如果可能的话,我更愿意避免这种情况,我考虑过使用 win32 api 调用并使用 FindWindow 和 SendMessage 浏览默认文件对话框,但我真的不想创建一个等待顺序的多线程应用程序去做这个。我找不到 FileDownload 对话框打开时触发的事件,只有在打开之前或关闭之后触发的事件。
您可能有的任何想法都会很棒,如果它澄清了我的解释,我可以开始在此处粘贴我到目前为止所拥有的代码。
vb.net - 如何从 VB.NET 2010 中的 webbrowser 对象获取 POSTDATA?
我知道在以前的 VB 版本中,webbrowser 对象有一个 beforenavigate2 事件,它提供了对 webbrowser 的 postdata 的访问。
我进行了搜索和搜索,我认为该事件在 Visual Studio 2010 中被禁用。
关于如何从 webbrowser 对象中获取 postdata 的任何想法?
webbrowser-control - 确定用户是否在 WebBrowser 控件中选择了刷新
如何检测用户是否Refresh
通过上下文菜单选择?当用户选择它时,该NavigateComplete2
方法不会被调用。
更重要的是,要设置自己的自定义用户代理,一种方法是挂钩BeforeNavigate2
事件方法,并且需要知道用户是否选择了刷新或导航新的 url。
任何见解将不胜感激。
这表明该方法在被选中NavigateComplete2
时不会被触发。Refresh
memory-management - 直接修改内存中传递参数的字符串
是否可以修改 COM 事件方法传递的函数参数的内存值?COM 对象中的属性值需要编辑。
Refresh
我正在尝试为 ActiveX 控件设置自定义用户代理,如果用户选择或打开链接页面,则使用自定义标题重新导航加载页面不成功。该Navigate()
方法中设置的标题也不适用于框架页面。
根据 MSDN ( http://msdn.microsoft.com/en-us/library/aa768326%28v=vs.85%29.aspx ),标头值的参数作为 ByRef 传递。
所以我试着简单地给它一个新的价值,但它没有用。
所以现在我想如果直接改变内存中存储的值就可以实现。所以我尝试了以下但它不起作用。
任何想法?
internet-explorer - 如何打开 DLL 中的文件并对其执行写入操作?
我正在用 C++ 开发一个互联网浏览器插件(Browser Helper Object - BHO)。在那,当触发事件BeforeNavigate2时,我想将 URL 保存到文件中。
因此,要打开文件,我编写了常用代码:
并且每次它都会显示“fopen failed”消息。
可能是什么问题呢?请帮忙。我非常需要它。谢谢你。
vba - Navigate2 调试
我正在尝试通过 VBA 创建一个宏以在 IE 的多个选项卡中打开一组指定的链接。目前我正在使用下面的代码,如果我试图打开 3 个或更少的选项卡,它大部分时间都可以工作。任何超过 3 的代码都会在“Navigate2”部分崩溃。经过一些研究,我似乎无法找到一个共同的问题或解决方案。代码如下所示(由于显而易见的原因,链接已被删除)。
任何帮助将不胜感激。
c# - BeforeNavigate2 事件在 32 位 Windows 7 Internet Explorer 11 上不起作用
我在 C# 中实现了一个 BHO,它使用 BeforeNavigate2 事件。它在 64 位 Windows 7 系统上的 Internet Explorer 11 中运行。
在 32 位 Windows 7 系统上,不会触发 BeforeNavigate2 事件。但是调用了 SetSite 方法。
为什么在 32 位上没有触发 BeforeNavigate2 事件?可能导致此行为的 32 位和 64 位 Internet Explorer 11 之间的确切区别是什么?