我注意到Kik共享按钮具有data-url属性,甚至the documentation甚至具有支持URL的共享按钮构建器,但是在我的测试中,data-url属性被忽略,而是始终共享当前URL 。
这是一个例子:
<a class="kik-button kik-color-lg"
data-url="http://example.com/something"
data-title="Something"
data-description="Something"
data-pic="http://example.com/example.png">
</a>
如果您在页面http://example.com上-按下共享按钮将共享一张卡,将您带到http://example.com而不是http://example.com/something
我还注意到,在本地使用
kik.send
时,实际上没有任何“ url”项,这使我对实际上应该发送的内容感到困惑。另一个与半相关的问题是,我试图在非kik设备上隐藏“共享”按钮,因此它们仍然可以正常使用该网站,但是
kik.enabled
仅在用户首次加载该页面时才为true。他们导航到另一个页面,kik.enabled
突然为假,导致共享按钮消失。为什么是这样?(注意:kik.enabled在Chrome中使用Kik开发人员工具,@ kik开发者时效果很好,我真的希望开发人员工具更接近Kik应用程序,我已经构建了一些应用程序,通常它们在我的浏览器中都能正常工作使用Kik工具,但在Kik本身中完全被破坏了)
最佳答案
the kik-share-button script尝试将data-url
的值作为url
参数发送到kik.send()
:
function setupShareButton(link) {
link.style.display = "inline-block";
link.setAttribute("title", "Share this on Kik!");
link.addEventListener("click", function(event) {
var link = this,
data = {},
n, m, i, h;
n = link.getAttribute("data-title");
if (n) {
data.title = n
} else {
data.title = document.title
}
m = link.getAttribute("data-description");
if (m) {
data.text = m
}
i = link.getAttribute("data-pic");
if (i) {
data.pic = i
}
h = link.getAttribute("data-url");
if (h) {
data.url = h
}
kik.send(data);
// don't follow the link normally unless a previous command threw an error
return false
})
}
但是kik.send()文档没有提到
url
参数。共享按钮脚本中可能存在错误。参数名称无效可能会导致默认行为,即发送当前页面的url。也许它是data
参数的一部分:kik.send({
title: '...',
text: '...',
data: {url: '...'}
})
在这种情况下,只需对共享按钮脚本进行少量修改即可产生正确的功能。