Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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 Tampermonkey用户脚本滚动到带有alt标记的第一个图像_Javascript_Greasemonkey_Tampermonkey_Userscripts - Fatal编程技术网

Javascript Tampermonkey用户脚本滚动到带有alt标记的第一个图像

Javascript Tampermonkey用户脚本滚动到带有alt标记的第一个图像,javascript,greasemonkey,tampermonkey,userscripts,Javascript,Greasemonkey,Tampermonkey,Userscripts,我使用一个培训网站,有很多课程。这是相当恼人的,它不记得你的最后一个课程的滚动位置。我正在尝试编写一个tampermonkey用户脚本,以滚动到alt标记为“NotStarted”的第一个图像,但它似乎不起作用 这是我到目前为止所做的尝试 var myList = document.getElementsByTagName("img"); for(var i=0;i<myList.length;i++) { if(myList[i].alt == "

我使用一个培训网站,有很多课程。这是相当恼人的,它不记得你的最后一个课程的滚动位置。我正在尝试编写一个tampermonkey用户脚本,以滚动到alt标记为“NotStarted”的第一个图像,但它似乎不起作用

这是我到目前为止所做的尝试

var myList = document.getElementsByTagName("img");

for(var i=0;i<myList.length;i++)
{
    if(myList[i].alt == "Not Started")
    {
        var pos = myList[i].offsetTop;
    }
}
window.scrollTo(0,pos);
var myList=document.getElementsByTagName(“img”);
对于(var i=0;i这里有两件事:

  • var pos
  • 如果您在for循环中声明(第一次提到)变量
    pos
    ,它将不起作用。您必须在函数的其余部分可以读取它之前声明它

  • window.addEventListener('load',(事件)=>{
  • 我不知道为什么,但至少在下面的代码段中需要这样做。也许js在窗口加载之前开始运行,因此无法设置
    window.scrollTo
    。如果您有任何问题,请将其保留在注释中

    window.addEventListener('load',(事件)=>{
    var myList=document.querySelectorAll('img');
    var-pos;
    对于(变量i=0;i
    
    
    奇怪它似乎不起作用了
    /==UserScript===/@name New UserScript/@namespacehttp://tampermonkey.net/ //@version 0.1//@description尝试接管世界!/@author You//@grant none//@includehttps://example.com/*//=/UserScript==window.addEventListener('load',(event)=>{var myList=document.getElementsByTagName(“img”);var pos;for(var i=0;i
    “@include*”:您需要将此设置为您希望它工作的网站。我怀疑它是“example.com”。请告诉我此设置是否有效。请记住在末尾添加
    /*
    ,正如您在此处所做的那样,该部分是正确的。此外,我只更改了一行代码(我在第7行添加了
    break
    )所以你也应该更新它。我确实更改了example.com,但是不允许实际的站点。很难说为什么它不起作用。在这段代码中它显然起作用。我想检查一下,确保你启用了扩展。也可能是你的站点没有使用图像标记,但我不确定这是否真的有可能。