gpt4 book ai didi

javascript - 使用 LinkedIn 插件申请 - 语言支持

转载 作者:行者123 更新时间:2023-11-29 22:24:16 26 4
gpt4 key购买 nike

首先,我失望插件本身只有英文。例如,如果用户单击“通过 LinkedIn 申请”按钮并登录法国个人资料,它会正确显示。仅返回到插件显示英文“已应用”的页面。

为了解决这个问题,我编写了一些 javascript,在按钮加载后将“Apply with LinkedIn”和“Share”文本替换为法语对应文本。我现在遇到的问题是按钮的“已应用”版本。它似乎异步加载到实际插件,这意味着它在某些情况下会覆盖我的法语文本,但在其他情况下不会。

我知道我可以在提交申请时利用 onsuccess 事件。但是,当该 LinkedIn 用户重新访问该页面时,“已申请”文本并不总是以正确的语言显示。

问题 1:有没有人幸运地使用任何技术来达到预期的结果?

问题 2:LinkedIn 什么时候才能最终正确支持它?

非常感谢任何帮助或指导。

谢谢!

更新:

我可以确认 Igor F. 使用 setInterval 函数并每 100 毫秒检查一次更改的解决方案是最佳选择,并且在所有经过测试的浏览器中都能完美运行。

感谢所有的帮助和建议!

最佳答案

该插件似乎从服务器异步接收其信息并对其进行操作,即更改页面内容。您是否尝试过监听 DOM 突变事件?

这是当用户导致网页发生变化时它们如何工作的示例:

<html>
<!-- This is just mock-up to allow user to modify the DOM -->
<body>
Text to add: <input id="in1" type="text"/>
<button onclick="addNode();">Add node</button>
<p id="toAdd"></p>
</body>

<script type="text/javascript">
function addNode() { // adds a text node to the <p> element
document
.getElementById("toAdd")
.appendChild(document
.createTextNode(document
.getElementById("in1")
.value
)
);
}

///////////////////////////////////////
// Here comes the interesting part: !!!
document
.getElementById("toAdd") // listen to modifications of the <p> element
.addEventListener(
"DOMSubtreeModified", // in this case all modifications of its subtree
function() {
alert('Modified!'); // change this to whatever fits your purpose
}
);
</script>
</html>

有关突变事件的更多信息 here .如果你想支持 IE < 9,你需要一个不同的方法。也许定期检查,例如每 100 毫秒,网页是否包含英文按钮并将其更改为法文。参见 setInterval() .这应该是面向 future 的(不推荐使用突变事件),但可能效率更低(慢)。

无论如何,这是一个 hack。只有 LinkedIn 可以提供干净的解决方案,例如允许插件的语言代码参数。

关于javascript - 使用 LinkedIn 插件申请 - 语言支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10537927/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com