0
我試圖動態更改已使用GWD創建的廣告單元上的圖像。Google Web Designer:檢查initAd()是否已完成加載
我有一個JSON提要,在handleWebComponentsReady()函數中調用initAd()之後調用。
本地工作正常,廣告初始化,然後ajax調用檢索資產列表,然後我使用jQuery將圖像src換出到新圖像。
雖然部署到活動服務器,但它不會工作,它看起來像initAd()函數花費顯着更長的時間來加載這是jQuery的敲門效果無法找到img標籤操作。
我試過在handleAdInitialized()事件中放置我的ajax調用,這意味着在廣告初始化之後但在廣告本身已經呈現之前調用,但這似乎並非如此。
我也嘗試在ajax調用上添加一個超時,等待幾秒鐘,然後再進行修改,但不是很理想。
這裏是我的飼料樣品,這是非常簡單的
{
image1: "assets/img1.jpg",
image2: "assets/img2.png",
image3: "assets/img3.png",
image4: "assets/img4.png",
image5: "assets/img5.png"
}
這裏是事件
function handleWebComponentsReady(event) {
// Start the Ad lifecycle.
setTimeout(function() {
gwdAd.initAd();
}, 0);
}
/**
* Handles the event that is dispatched after the Ad has been
* initialized and before the default page of the Ad is shown.
*/
function handleAdInitialized(event) {
$.ajax({
url: "link-to-feed",
jsonpCallback: "callback",
dataType: "jsonp",
async: false,
success: function(response) {
console.log(response);
$('#img1').css('background-image','url("' + response.image1 + '")');
$('#img2').css('background-image','url("' + response.image2 + '")');
$('#img3').css('background-image','url("' + response.image3 + '")');
$('#img4').css('background-image','url("' + response.image4 + '")');
$('#img5').css('background-image','url("' + response.image5 + '")');
},
error: function(response){
console.log("error");
}
});
}
有沒有辦法來檢測時initAd()有全面完成,然後調用我的阿賈克斯?
任何幫助,將不勝感激。
感謝
Feed始終返回正確的數據。對不起,如果我不清楚,這是GWD初始化代碼花費太長時間。它動態地將圖像標籤添加到DOM,我需要等到發生這種情況後才能更改背景圖像 – SimonL