我想知道我在(Internet Explorer)上触发上下文菜单的图像的url
I want to know the url of an image I triggered a context menu on(Internet Explorer)
我遵循了这个来源的说明:http://www.codeguru.com/cpp/com-tech/atl/atl/article.php/c11007/Customize-an-IE-Context-Menu-to-Add-CodeGuru-Favorites.htm添加上下文菜单项并通过Javascript调用ActiveX控件的方法。这是重要的部分:
<SCRIPT LANGUAGE="JavaScript">
var parentwin = external.menuArguments;
var doc = parentwin.document;
var str = new String(parentwin.event.srcElement.name);
var oFav = new ActiveXObject("CodeguruFavorites.CGFavorites");
oFav.ShowDefaultContextMenu(parentwin,doc.title, doc.location);
</SCRIPT>
在这个例子中,作者将网页的标题和我在上触发上下文菜单的网页的URL发送到ActiveX方法。
我想知道如何获取我在上触发上下文菜单的图像的URL。
我在这篇文章中找到了答案:如何用Javascript识别当前点击的链接?。
触发上下文菜单的对象是menuArguments.event.srcElement。它作为IDispatch接口指针传递给ActiveX控件的方法。在此指针上,您可以调用QueryInterface来获取指向IHTMLImgElement的指针。
pDispatch->QueryInterface(IID_IHTMLElement,(void**)&lpElement);
if (lpElement)
{
CComBSTR tagName;
lpElement->get_tagName(&tagName);
if(0 == wcsicmp(tagName.m_str, L"img"))
{
CComPtr<IHTMLImgElement> spImg;
lpElement->QueryInterface(IID_IHTMLImgElement, (void**)(&spImg));
if(spImg)
{
CComBSTR src;
HRESULT hr = spImg->get_src(&src);
if(FAILED(hr))
return hr;
}
}
}
相关文章:
- 将函数的上下文应用于javascript变量
- 如何使用url加载程序在webpack中导入多个图像
- 使用php或javascript从facebook相册URL中删除多余的部分
- Angular JS IE9 Hashbang url rewriting
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- 直接下载文件,而不是从window.open(url)
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 通过js在新选项卡中有条件地打开url
- CKFinder 3为所选文件返回错误的URL
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- 如何获取不属于我项目的上一页的URL
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 在URL中传递JS对象
- 我想知道我在(Internet Explorer)上触发上下文菜单的图像的url
- 需要.js丢失 url 上下文
- 了解AngularJS中的域和上下文根url路径
- 在上下文菜单中,Chrome如何知道文本是否为URL
- 名称'Url'在asp.net中的当前上下文错误中不存在
- 如何在JSP中将页面上下文附加到不在DOM标记中的URL字符串
- 如何在移动设备上长按显示文本链接上下文而不是URL