可以使用以下代码将LinkedIn分享按钮添加到页面中:
<script src="//platform.linkedin.com/in.js" type="text/javascript"></script>
<script type="IN/Share" data-counter="top"></script>
我希望能够动态将数据计数器更改为按钮顶部。
为此,我删除了旧的LinkedIn button
并添加了一个新代码,其中包含以下代码:
addScript = function(counterPosition) {
mainElement = document.getElementById("scripts-go-here");
d = document.createElement("script");
d.type="IN/Share";
d.setAttribute("type", "IN/Share");
d.setAttribute("data-counter", counterPosition);
// Reset the current element, since we only want to change the layout of the button
while(mainElement.firstChild) {
mainElement.removeChild(mainElement.firstChild);
}
mainElement.appendChild(d);
IN.parse();
}
addScript("right");
addScript("top");
问题虽然是you can see in this jsfiddle,但是很快就出现了一些JS错误:
“未捕获的TypeError:无法设置属性'innerHTML'为null”
为什么会发生这种情况?我该如何解决这个问题?
这是Linkedin的jsApi的问题吗?
答案 0 :(得分:3)
好像你没有传递其内容应该在IN.parse(domNode)方法中解析的节点
解析标签
随着框架加载,它将自动扫描文档和 呈现任何特定于LinkedIn的标签。偶尔,你可以动态地 更改DOM的内容和新的LinkedIn标签需要 解析。如果平台已加载,您可以重新解析新的 带有以下JavaScript的IN标记:
IN.parse(domNode)
其中domNode是其内容应为的节点 解析(例如使用document.body触发整个解析 页)。
尝试了一些new things with your example,我认为此+init
是导致错误的原因(与this example)不同
<script type="IN/Share+init" data-counter="top"></script>
这是否发生在您的申请表上?