我目前正在研究MDN上的HTML5拖放API,并且我有兴趣了解更多关于如何在Firefox和Chrome浏览器中实现DataTransfer.effectAllowed 的方法。
因为两个浏览器的源代码都很庞大,对于不熟悉源代码的人来说,找到他们想要的东西是一项艰巨的任务,所以我只是想知道是否有人可以分享他们的搜索经验/策略他们的源代码?
答案 0 :(得分:5)
我不确定Chrome,但我会尝试使用Mozilla Firefox。即使它很庞大,Firefox代码库也可以使用两种不同的引擎进行搜索:Searchfox和DXR。两者都很棒,有不同的优点/缺点。
Searchfox:
DXR:
现在,对于您的问题,让我们使用searchfox查找DataTranfer.effectAllowed
。
dom/events/DataTransfer.h
,这可能是您正在寻找的。 li>
.cpp
来将搜索限制为*.cpp
个文件。 dom/events/DataTransfer.cpp
,这正是实施所在的位置。见here。从那里,根据您的需求,您可以继续调查。我希望这会有所帮助:)
更新:搜索Chromium源代码的步骤
原来Chromium有一个类似的service来搜索代码库。步骤也很相似!
EffectAllowed
。setEffectAllowed (in blink::DataTransfer)
,即.cc
实施文件。