このデータにDIVがあり、サーバーからロードされます。Divにデータがある場合にのみJSを実行したい。FacebookのAPIによってデータが読み込まれています
<Div id='profilePicsDiv' > DATA</div>
JS
$(document).ready(function () {
FB.getLoginStatus(function (response) {
var profilePicsDiv = document.getElementById('profile_pics');
FB.api({
method: 'friends.get'
}, function (result) {
// var result =resultF.data;
// console.log(result);
var user_ids = "";
var totalFriends = result.length;
// console.log(totalFriends);
var numFriends = result ? Math.min(25, result.length) : 0;
// console.log(numFriends);
if (numFriends > 0) {
for (var i = 0; i < numFriends; i++) {
var randNo = Math.floor(Math.random() * (totalFriends + 1))
user_ids += (',' + result[randNo]);
randNo++;
if (randNo >= totalFriends) {
randNo = 0;
}
// console.log(user_ids);
}
}
profilePicsDiv.innerHTML = user_ids;
});
});
}
今、私はデータがロードされた後にこれを実行したい
$(document).ready(function () {
var user_ids = document.getElementById('profile_pics').innerHTML;
if (user_ids == '') {} else
{
FB.ui({
method: 'apprequests',
message: 'See anyones secret hidden pictures :)',
to: user_ids,
/// How to Fill the ID's HERE ?
}, requestCallback);
}
}
function requestCallback(response) {
// Handle callback here
}
});
しかし、80%はアラートを空白として受け取り、20%は値を取得します。データを確実に取得した後でこの関数を実行し、80%の確率で空白になるのを回避できますか?