我有一个暴露给 javascript 的函数:
bool handleDrop( const NPVariant * args, uint32_t argCount, NPVariant* result){
//Extract the full paths from the DataTransfer object passed into args
}
从 onDrop(event) 处理程序从 Javascript 调用它:
plugin.handleDrop(event.DataTransfer);
我在 ActiveX 版本上取得了成功:
void handleDrop (IDispatch* arg){
//Extract paths using QueryInterface for IID_IHTMLDataTransfer,
// IID_IServiceProvider, IID_IDataObject which gets dropfiles list
}
我想为 NPAPI 版本做同样的事情。根据 MDN:https ://developer.mozilla.org/En/DragDrop/DataTransfer 数据传输对象看起来像是实现了 nsIDOMDataTransfer 接口。
这甚至可以使用 NPAPI 从数据传输对象中提取完整的删除文件路径,以及您如何实际进行转换以到达那里?
谢谢。