JavaScript没有正确地传递变量?
在我开始之前,让我声明我是JavaScript的noob。。。所以我相信下面的问题是个愚蠢的问题。然而,我被困住了——任何帮助都是感激的 我正在使用在找到的BlockAdBlock脚本。我已将HTML文件设置为:JavaScript没有正确地传递变量?,javascript,Javascript,在我开始之前,让我声明我是JavaScript的noob。。。所以我相信下面的问题是个愚蠢的问题。然而,我被困住了——任何帮助都是感激的 我正在使用在找到的BlockAdBlock脚本。我已将HTML文件设置为: <script>var blockAdBlock = false</script> <script type="text/javascript" src="blockadblock.js"></script> <
<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);
}
var blockAdBlock=false
myBlockAdBlock=newblockadblock({checkOnLoad:true,resetOnEnd:true});
var-abcdefg=0;
函数adBlockNotDetected(){
警报(“AdBlock未启用”);
abcdefg=1;
}
函数adBlockDetected(){
警报(“AdBlock已启用”);
abcdefg=2;
}
如果(myBlockAdBlock的类型=='undefined'){
adBlockDetected();
}否则{
myBlockAdBlock.on(真,adBlockDetected)。onNotDetected(adBlockNotDetected);
}
代码在BlockAdBlock方面运行良好,直接从BlockAdBlock的github页面中删除——adBlockNotDetected和adBlockDetected函数中的警报会按预期触发。但是,我无法正确设置变量abcdefg的值;我期望abcdefg=1或abcdefg=2,这取决于是否检测到ad块,但我始终得到abcdefg=0。我完全不明白自己做错了什么
请帮忙
谢谢 如果您需要确保在某个回调被执行后执行一段代码,您可以将代码放入一个函数中,并从第一个回调函数调用,例如:
var abcdefg;
function adBlockNotDetected() {
console.log('AdBlock is not enabled');
abcdefg = 1;
executeSomethingElse();
}
function executeSomethingElse() {
console.log(abcdefg);
}
在blockadblock.js有时间加载和执行之前,您的js可能正在运行。尝试将代码包装到document.onreadystate处理程序中。@TomDDD我认为这不是问题所在。我添加了警报(“Ad块已启用”);函数adBlockDetected()和类似函数adBlockNotDetected()的东西——这两个警报都会按预期触发,因此问题不可能出在blockadblock.js上。我猜您在执行回调之前使用了
abcdefg
变量-上的名称表明它们是异步调用的,但是您必须查看要发布的文档(或实现)sure@Aprillion在上面列出的回调之后,我在代码中使用abcdefg。使用abcdefg的代码是否可能在上述代码之前执行?后面的JavaScript代码是否可以在前面执行?对不起,没有问题。是的,非常抱歉-