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