因为拖动超链接中的图像,无法获取“FileDrop”或“DIB”数据,所以我想使用 C# 编写一个 BHO 来增强拖放图像。
我在文档上注入了 dragstart 事件,它工作正常,但是:
如果 javascript 设置了这样的 ondragstart 事件处理程序:
<script>
ondragstart = function(){
var obj = event.srcElement;
if(obj.tagName == "A"){
event.dataTransfer.setData("text", "TTTTTTTTTTTTTTT");
}
window.document.title = event.srcElement.tagName;
}
document.attachEvent("ondragstart", ondragstart);
</script>
AND BHO ondragstart 事件处理程序:
...
if (!string.IsNullOrWhiteSpace(src))
{
try
{
var info = WinInetAPI.GetUrlCacheEntryInfo(src);
src = info.lpszLocalFileName;
}
catch
{
}
eventObj.dataTransfer.setData("Text", src);
}
...
最后的结果是:TTTTTTTTTTTTTT。
在调试器中,我可以看到 BHO ondragstart 事件处理程序在 javascript 事件处理程序之前被调用。
那么,无论如何在 javascript 事件处理程序之后调用 BHO 事件处理程序?
对不起我的英语。请帮忙。谢谢你。