1
我正在一个网站上每页都会有多个“保存”按钮,并且我需要为每个网站都进行回调,以便我可以在自己的系统中注册用户已完成保存操作。我想我已经想出了如何以编程的方式做到这一点......但是对于我创建的每个小部件,当我尝试通过SDK将其添加到DOM时,我得到了“无法读取属性”样式的“空”错误。编程保存按钮不起作用
这里是我的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
不,完全没有。 – vnads 2012-07-09 19:48:00
我明白了,如果你仔细想想它其实很明显。我发送了一个jQuery对象,当foursquare的sdk想让我发送一个DOM元素。将容器变量的行更改为以下内容:var container = $(this).parent()。find('a')[0]; – vnads 2012-07-09 22:02:07
这可以编辑得更清楚一点,或者vnads是否可以将您的评论发布为解决方案?我花了一点时间弄清楚了,但是关于返回DOM元素的线索也解决了我的问题。但不知道是否应该注意这一点,因为它不是很清楚.... – 2013-06-11 01:48:22