jjzjj

javascript - 无法在 IE9 中从 Javascript 调用 BHO 方法

我正在尝试从javascript函数调用BHO对象方法(BHO使用IHTMLWindow2execScript注入(inject)javascript)。functionfoo(){IEBHO.DoSomething();}IEBHO是一个BHO对象,已经在IE9中加载。“DoSomething”接口(interface)/方法在BHO项目的IDL文件中声明为:[id(1),helpstring("methodDoSomething")]HRESULTDoSomething();这种方法在IE7和IE8上运行良好。从javascript函数成功调用方法/接口(interface)“Do

javascript - 如何使用 Javascript 获取当前正在运行的脚本的路径?

我们有一个作为浏览器帮助对象(BHO)实现的IE扩展。我们有一个用C++编写的实用函数,我们将其添加到页面的window对象中,以便页面中的其他脚本可以使用它来动态加载本地脚本文件。然而,为了解析这些本地脚本文件的相对路径,我们需要确定调用我们函数的JavaScript文件的路径:myfunc()用C++编写并暴露给页面的JavaScript文件:///path/to/some/javascript.js(额外的栈帧)我想从顶部框架获取信息,即调用myfunc()的脚本位于file:///path/to/some/javascript.js中。我最初期望我们可以简单地使用IActive

javascript - 将 FF 扩展移植到 IE : no global window object in JS WSC

我正在尝试将一个扩展从Firefox移植到IE。所有扩展的代码都在JS中(没有C++组件),所以我想我会重用代码并且只麻烦自己处理它的mozilla特定部分(这无疑也是一种折磨,但我认为它比重写它更痛苦从头开始)。FF扩展包装在一个JS对象中,该对象在“加载”事件期间被初始化。然后在“DOMContentLoaded”事件上触发扩展的“业务”代码。我最初的计划是创建一个WSC(窗口脚本组件)并在那里监听onLoad事件,基本上做与原始代码相同的事情。但是,我发现我的JavaScript脚本组件中没有隐式全局窗口对象,我的B计划是在我的C++BHO代码中监听“onBeforeNaviga

windows - 安装 BHO 最简单的方法是什么

我不是windows程序员,但似乎我必须为Internetexplorer做一个扩展。我在这个线程的帮助下制作了一个BHO:HowtogetstartedwithdevelopingInternetExplorerextensions?我做到了,它在VS的Debug模式下“有效”。现在我想要一种在目标机器上安装它的方法。我知道互联网上有很多话题,但其中一半对我不起作用,另一半我也看不懂。Windows的系统编程对我来说不是一件小事,我真的需要这方面的帮助。在Firefox/Chrome上做同样的事情大约需要30分钟。假设我有我的extension.dll。我应该用它做什么?我应该在哪里

c++ - Internet Explorer BHO,写入注册表和管理员权限

出于某些原因,当我尝试在IE未以管理员权限运行时写入注册表时,Utils::SetValueInRegistry(HKEY_CURRENT_USER,L"Software\\myApp23",L"Domain",value.c_str());任何人都知道如何获得我的BHO权限以每次写入注册表?或者也许我应该写到另一个可用于写入的注册表部分?我需要存储的信息非常动态,用于在选项卡之间进行通信。谢谢。 最佳答案 InternetExplorer正在以低完整性级别运行。使用HKEY_CURRENT_USER\Software\LowReg

c++ - IE BHO - 为页面加载调用 DISPID_FILEDOWNLOAD?

我正在实现一个InternetExplorer浏览器帮助程序对象,它应该捕获DISPID_FILEDOWNLOAD事件。我首先在C#中实现了它,效果很好,除了我还需要URL附带的cookie,因此需要调用InternetGetCookiesEx。由于.NET在它自己的进程中运行,它不会向我返回sessioncookie,所以不好。然后我用C++编写了一个快速测试DLL,以便将它加载到与IE相同的进程中,这对cookie非常有用,但我现在遇到了一个新问题:当我只希望它们用于实际下载时,我会在我的调用函数中为每个页面加载调用DISPID_FILEDOWNLOAD。在C#版本中,我只收到了对

javascript - Chrome ://like URLs in Internet Explorer

再一次,我在努力将Firefox扩展移植到InternetExplorer7、8和9。我最近的问题是FF扩展代码大量使用AJAX调用“chrome://...”url(它以这种方式获取.html文件,然后在页面上显示HTML)。在IE中有什么方法可以访问类似“chrome://”的URL吗?或者-更一般地说-有什么方法可以进行AJAX调用来检索作为扩展一部分的HTML文件的内容(并且无法在线访问)?非常感谢!汤姆 最佳答案 你想要res://方案。这doc是.net特定的,但它为您提供了协议(protocol)使用方式的基础知识。

windows - 使用 BHO 时 IE 上的运行时错误 216

我正在处理用Delphi编写的浏览器帮助程序对象,当安装BHO并关闭IE时,我收到错误“运行时错误216在”。我怀疑这可能是因为以下代码中的253disID(onquit)情况:functionTIEM.Invoke(DispID:Integer;constIID:TGUID;LocaleID:Integer;Flags:Word;varParams;VarResult,ExcepInfo,ArgErr:Pointer):HResult;typePOleVariant=^OleVariant;vardps:TDispParamsabsoluteParams;bHasParams:Boo

windows - Internet Explorer 中是否有等效的 chrome 原生消息传递 API?

在chrome上,扩展程序可以在nativemessagingAPIs的帮助下与native应用程序交换消息。我们如何在IE上实现这一点?用例:我们有自己的桌面应用程序,用户可以从我们的站点下载和安装。下次他们再次访问时,我们应该能够检测到native应用程序是否已安装并在可用时启动。借助一个扩展,我们能够在chrome上构建解决方案,该扩展利用chrome原生消息传递API连接到原生应用程序。需要在IE浏览器上有类似的东西,或者需要一个适用于所有主流浏览器的通用解决方案。 最佳答案 您可能想看看URL处理程序,Firefox、Ch

windows - 在 IE9 中从 BHO 读取 JS 变量

我有一个InternetExplorerBHO,它可以在当前网站上执行脚本,然后读取在该脚本中分配的变量。不幸的是,从IE9(我用RC测试过)开始,读取JS变量会导致HRESULT0x80020006。脚本集给JS变量赋值如下:this.=其中this是当前的Window对象。它是使用执行的hr=pWindow->execScript(ccom_js,lang,&vEmpty);并且使用JS变量读取boolget_js_var(CComPtrpDisp,LPOLESTRname,VARIANT*dest){DISPIDid;HRESULThr=pDisp->GetIDsOfNames(