我正在一个网站上工作,每页将有多个“保存”按钮,我需要为每个按钮进行回调,以便我可以在自己的系统中注册用户已完成保存操作。我以为我已经知道如何以编程方式执行此操作......但是对于我创建的每个小部件,当我尝试通过 SDK 将其添加到 DOM 时,我收到“无法读取 null 的属性'样式'”错误。
这是我的 Javascript
<script type='text/javascript'>
(function () {
window.___fourSq = {
"uid": "31904528",
"secure": true,
"explicit": false,
"onReady": function () {
$('.fourSquareVenueId').each(function () {
var vid = $(this).val();
var widget = new fourSq.widget.SaveTo({
"vid": vid
});
var container = $(this).parent().find('.placeholder');
widget.replace(container);
});
}
};
var s = document.createElement('script');
s.type = 'text/javascript';
s.src = 'https://platform-s.foursquare.com/js/widgets.js';
s.async = true;
var ph = document.getElementsByTagName('script')[0];
ph.parentNode.insertBefore(s, ph);
})();
基本上,当 SDK 被加载时,我会通过并找到所有带有场地 ID 的隐藏输入,然后我尝试创建一个“保存”小部件来替换我作为占位符的空锚标记。
这是 Chrome 控制台中错误屏幕截图的链接:
http://gyazo.com/f011c25bb88181251e2820e748b41093.png
任何帮助将不胜感激。谢谢。
编辑:这是我正在使用的 Foursquare 文档: https ://developer.foursquare.com/overview/widgets#programmatic-instantiation