在开始之前,让我说明我是JavaScript的菜鸟......所以我确定以下是一个愚蠢的问题。但是,我被卡住了 - 感谢任何帮助。
我使用https://github.com/sitexw/BlockAdBlock处的BlockAdBlock脚本。我已经设置了我的HTML文件:
<script>var blockAdBlock = false</script>
<script type="text/javascript" src="blockadblock.js"></script>
<script type="text/javascript">
myBlockAdBlock = new BlockAdBlock({checkOnLoad: true, resetOnEnd: true});
var abcdefg = 0;
function adBlockNotDetected() {
alert('AdBlock is not enabled');
abcdefg = 1;
}
function adBlockDetected() {
alert('AdBlock is enabled');
abcdefg = 2;
}
if(typeof myBlockAdBlock === 'undefined') {
adBlockDetected();
} else {
myBlockAdBlock.on(true, adBlockDetected).onNotDetected(adBlockNotDetected);
}
代码在BlockAdBlock方面运行良好,并且直接在BlockAdBlock的github页面之外 - adBlockNotDetected和adBlockDetected函数中的警报按预期触发。但是,我无法正确设置变量abcdefg的值;我期待abcdefg = 1或abcdefg = 2,具体取决于是否检测到广告块,但我总是得到abcdefg = 0.我完全不知道我做错了什么。
请帮帮忙?
谢谢!
答案 0 :(得分:0)
如果你需要确保在执行一些回调之后执行一段代码,你可以将代码放入一个函数中并从第一个回调函数调用,例如:
var abcdefg;
function adBlockNotDetected() {
console.log('AdBlock is not enabled');
abcdefg = 1;
executeSomethingElse();
}
function executeSomethingElse() {
console.log(abcdefg);
}