var syncUserIdProvider = {
name: "userIdProvider",
version: "1.0.0",
timeout: 3000,
provider: function(callback) {
// User ID取得・callback呼び出し関数を定義
var getUserId = function() {
var element = document.querySelector('#user-id');
if (element) {
var userId = element.textContent;
callback(null, {userId: userId});
return true;
}
};
// Provider呼び出し時に会員情報未取得時にMutationObserverで監視
if (!getUserId()) {
new MutationObserver(function(mutationsList, observer) {
if (getUserId()) {
// 会員情報取得く時にMutationObserverは停止
observer.disconnect();
}
}).observe(document.querySelector('#user-info'), {childList: true});
}
}
};
window.targetGlobalSettings = {
dataProviders: [
syncUserIdProvider
]
};