最后我找到了一种可以接受的方式:
在更改字体大小之前,我使用了一些 javascript 来查找并存储页面上第一个字母的位置:
var range = document.caretRangeFromPoint(0,0); // get a range of a first onscreen letter
var textContainer = range.startContainer.parentNode;// get an element to which it belongs
var path = getElementXPath(textContainer); // get an XPath for that element (this function is not biult in, but you can find it in some other question)
path+='|'+range.startOffset; // stick XPath and index of the letter together
之后我更改字体大小,通过 XPath 找到需要的元素,<a>
在我的字母之前插入 invisible ,滚动到那个 invisible <a>
,不要忘记删除它。
完毕。这不是一个简单的想法,但至少它可以工作并且不会消耗太多 CPU 或 RAM,就像我在原始问题中解释的想法一样。
这里是获取getElementXPath()函数的地方