0
因爲拖拽一個超鏈接的圖片,無法獲得「FileDrop」或「DIB」數據,所以我想用C#寫一個BHO來增強拖放圖片。BHO如何替換JavaScript事件處理程序結果?
我已經注入的文件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>
和BHO ondragstart事件處理程序:
...
if (!string.IsNullOrWhiteSpace(src))
{
try
{
var info = WinInetAPI.GetUrlCacheEntryInfo(src);
src = info.lpszLocalFileName;
}
catch
{
}
eventObj.dataTransfer.setData("Text", src);
}
...
最終的結果是:TTTTTTTTTTTTTTT。
在調試器中,我可以看到在JavaScript事件處理程序之前調用BHO ondragstart事件處理程序。
那麼,有沒有辦法在JavaScript事件處理程序之後調用BHO事件處理程序?
對不起我的英文。 請幫忙。謝謝。
我想要做類似於你的事情 - 你可能會給我一些示例代碼嗎?我是BHO的新手,無法弄清楚如何掛接到Internet Explorer拖放事件。 –