在下面的代码中,渲染函数在下面的循环中调用。奇怪的是,函数调用( console.log )之前的代码行可以工作,但函数内部的console.log指令不能工作。查看for(var I in coupons)行。此外,函数调用后的行没有work.console,log(e)。另外,d只执行一次,而不是3次,因为数组的长度是3,所以我无法使用弹出窗口的控制台,因为它会使我的系统崩溃(是的,它确实会)。所以我不得不依赖这一点。
function render(template,object){
chrome.extension.getBackgroundPage().console.log("Hello")//This doesn't
var placeholders=/\$\{([A-Za-a0-9_]+)\}/.exec(template);
chrome.extension.getBackgroundPage().console.log(placeholders);//Neither does this
}
function update(){
chrome.extension.sendRequest({'action' : 'fetchCoupons'},
function(couponsObj) {
// chrome.extension.getBackgroundPage().console.log('coupons');
//chrome.extension.getBackgroundPage().console.log($.tmpl);
var template=$("#coupons-template").html()
//$(".coupons").html(template )
//$couponscontent=$.tmpl(template,coupons)
var coupons=couponsObj.coupons;
var deals=couponsObj.deals;
chrome.extension.getBackgroundPage().console.log(coupons);
for(i in coupons){
chrome.extension.getBackgroundPage().console.log("d");//This console.log works
render(template,coupouns[i]);//This line calls the render function
chrome.extension.getBackgroundPage().console.log("e");
}
}
);
}
update();发布于 2013-09-06 10:11:29
您有一个拼写错误,导致代码在调用render时停止
render(template,coupouns[i]);应该是:
render(template,coupons[i]);优惠券->优惠券
https://stackoverflow.com/questions/18648624
复制相似问题