Tampermonkey没有显示语法检查错误,但脚本仍然没有做任何事情?

时间:2014-02-16 11:25:38

标签: javascript syntax href tampermonkey getelementsbyclassname

感谢这个论坛上几个人的帮助,我设法写了很多东西,所以我要感谢大家!

我已经达到了这样的程度,即我在Tampermonkey中编写了一个脚本,通过语法检查没有任何问题,但似乎没有在相关网页上完成它。

脚本必须打开(在新窗口中)网页上项目的链接。我有一个我需要打开的项目列表,以下是这些项目的示例:

<a class="market_listings" href="http://blabla.com/item1">...</a>
<a class="market_listings" href="http://blabla.com/item2">...</a>
<a class="market_listings" href="http://blabla.com/item3">...</a>
  etc.

如您所见,该项目由一个类和一个href定义。该类不是唯一的,但是href是。

所以这个想法是:

  1. 脚本获取带有class =“market_listings”的元素,只是为了缩小页面上hrefs的搜索范围。

  2. 该脚本会查看这些元素的href是否与“http://blabla.com/item *”相对应

  3. 该脚本会打开一个带有该href的新窗口。

  4. 在这个例子中,我想在一个新窗口中显示'item1'的href:

        // ==UserScript==
        // @name         supdawg
        // @version      1.0
        // @description  *This script is supposed to look for a specific href on a page and then open a new window with that href, in this case only item1.*
        // @match        http://blabla.com/*
        // @copyright    2012+, Bram
        // ==/UserScript==
    
    
    function OpenSpecificHref() {
    
        //Gets reference to the elements
        var elem = document.getElementsByClassName("market_listings"), 
            i = 0;
    
        while (i < elem.length) //Loop through the elements
    
            {
               //Verify's that the href starts with http://blabla.com/item1
              if (elem[i].href.indexOf("http://blabla.com/item1") === 0)
    
                {
                  //If it does, open that URL in a new window.
                  window.open(elem[i].href, "_blank");
                }
             i++;
            }
    }
    
    OpenSpecificHref();
    

    这个脚本对我来说似乎很干净,但它在相关网站上没有做任何事情。 Tampermonkey显示脚本正在运行,但没有任何反应。我尝试关闭所有其他扩展程序(包括AdBlock和其他内容),但这并没有解决问题。

    我希望你们可以告诉我这个剧本有什么问题。

    非常感谢你们为我所做的一切!

    ¨

    布拉姆

0 个答案:

没有答案