我与一些旧代码,其中的原始开发者所做的名为非标准属性来生成HTML DOM节点的大量使用工作translate
<span translate="[{"shown":"My Account","translated":"My Account","original":"My Account","location":"Text","scope":"Mage_Customer"}]">My Account</span>
然后遍历/搜索具有象下面的JavaScript代码的那些节点。
if (!$(target).match('*[translate]')) {
target = target.up('*[translate]');
}
我试图解决的问题是,它似乎是谷歌浏览器会自动添加一个translate
属性添加到文档中的每个DOM节点,而这个DOM节点的值是一个布尔值true
。 您可以通过运行Chrome的JavaScript控制台下面的JavaScript看到这
> document.getElementsByTagName('p')[0].translate
true
>
反正是有让Chrome 不填充这些属性? 它们的存在wrying浩劫与遗留代码。 PrototypeJS的match
和up
的节点处理这些布尔对象属性火柴,而我负责的是专门找DOM的代码名为翻译的属性节点。 我想找到我的问题,不涉及改写旧的Javascript功能来使用类似的方法解决hasAttribute
。
我尝试(如胡乱猜测)将meta
中提到的属性这篇文章 ,
<meta name=”google” value=”notranslate”>
<meta name=”google” content=”notranslate”>
但在页面的节点仍然有一个布尔true
转换属性。
(如果它很重要,这是Magento的我谈论在线翻译系统在这里)