Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript chrome扩展检查失败_Javascript_Google Chrome Extension - Fatal编程技术网

Javascript chrome扩展检查失败

Javascript chrome扩展检查失败,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我目前有下面的脚本。但是,它始终显示警报“test2”。有点不对劲,但我似乎不知道是什么 inject.js 网站 这可能是因为您使用的窗口对象没有引用变量所附加到的同一窗口对象。在Chrome扩展中,有背景上下文及其自己的窗口变量,还有当前窗口/选项卡的上下文。确保您正在访问正确的窗口对象 也可能在setExtended函数之前调用扩展函数,在这种情况下,它将始终向“test2”发出警报。使用Chrome开发工具并设置断点,以确保以正确的顺序调用它们 希望我能帮忙。让我知道它是如何运行的。页面

我目前有下面的脚本。但是,它始终显示警报“test2”。有点不对劲,但我似乎不知道是什么

inject.js

网站

这可能是因为您使用的窗口对象没有引用变量所附加到的同一窗口对象。在Chrome扩展中,有背景上下文及其自己的窗口变量,还有当前窗口/选项卡的上下文。确保您正在访问正确的窗口对象

也可能在setExtended函数之前调用扩展函数,在这种情况下,它将始终向“test2”发出警报。使用Chrome开发工具并设置断点,以确保以正确的顺序调用它们


希望我能帮忙。让我知道它是如何运行的。

页面的JavaScript上下文和内容脚本是分开的,不共享变量/函数等。您应该使用as。

可能是之间的空格!如果?@Cracker0dks没有扩展,因为即使没有它,它也会给我test2作为警报。是的,因为你定义并检查扩展而不是窗口。扩展。。。移除var extended并将window.extended添加到if.and中,如果要直接调用匿名函数,则结尾应如下所示}@那也不管用哦,我当然明白你在说什么,你的意思。但是,我不知道你所说的“使用Chrome开发工具并设置断点以确保它们以正确的顺序被调用”是什么意思。好吧,我的意思是:转到你的网站,右键单击屏幕上的任意位置,然后单击Inspect元素。然后转到sources选项卡并按ctrl-O打开相关的Javascript文件。打开Javascript文件后,单击行号以在扩展函数和setExtended函数中设置断点。然后按ctrl-R刷新并查看第一次调用的内容。它还将显示console选项卡中是否出现任何错误。
(function setExtended() {
     window.extended = 1;
});
<script>
    var extended; 

    function extension(){
        if (! extended){
            alert('test2');
        } else {
            alert('test3');
        }
    };
</script>