AnkiDriod一键调用欧路词典查词 - 知乎 (zhihu.com)给出Intent可以用调用浮窗查询比 eudic://dict/ 方便点。
通过js实时获取点击的单词再查询
把下面这段代码加入到卡片模板的背面内容模板即可
<script>
document.addEventListener('click', function(e) {
// 获取点击位置的单词
var word = getWordAtPoint(e.clientX, e.clientY);
if (word) {
// 调用eudic://dict/${word}
window.location.href = `intent:peek#Intent;action=colordict.intent.action.SEARCH;category=android.intent.category.DEFAULT;type=text/plain;component=com.eusoft.eudic/com.eusoft.dict.activity.dict.LightpeekActivity;scheme=eudic;S.EXTRA_QUERY=${word};end`;
}
});
function getWordAtPoint(x, y) {
if (document.caretRangeFromPoint) {
var range = document.caretRangeFromPoint(x, y);
var textNode = range.startContainer;
var text = textNode.data;
var position = range.startOffset;
// 向前和向后扫描,直到找到单词的边界
var start = position, end = position;
while (start > 0 && /\S/.test(text[start - 1])) {
start--;
}
while (end < text.length && /\S/.test(text[end])) {
end++;
}
return text.substring(start, end);
}
return null;
}
</script>