2014-02-15 28 views
0

我使用Tampermonkey,我似乎无法让jQuery来处理它,所以这只能是Javacript。用JavaScript打开网页的特定链接?

我试图让脚本打开(在新窗口中)网页上项目的链接。我有我需要打开的项目列表,这里是这些项目的一个例子:

<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一个新的窗口。

我有编码几乎0经验,但是这是我怎么会开始了,考虑到我只是想开项目1和3:

function gethrefandopenwindow() { 
     var items = document.getElementsByClassName('market_listings') 

//don't know how to code from here 

     if (*a href of items corresponds to*: 'http://blabla.com/item1') 

      { 
      *open new window to href of item1* 
      } 

     if (*a href of items corresponds to*: 'http://blabla.com/item3') 

      { 
      *open new window to href of item3* 
      } 



     else { 
       *refresh the page and start over* 
       } 
} 

正如我所说的,我有几乎没有编程经验,所以我不知道这是否可能,如果是,而且你愿意帮忙,请向我解释,就像我是一个白痴/新手一样。 :)

我能想到的唯一的其他方式是这一个:Javascript getElement by href?;除了我不知道如何在我的情况下应用它(以及如何从元素中打开特定的href),我不知道该如何应用它。

无论如何,我希望你能帮助我,

谢谢!

+0

想开一个链接到其他窗口时用户点击链接? –

回答

0

它看起来像你有正确的想法。这个功能可能会让你朝着正确的方向前进。

function OpenHrefsInNewWindow() { 
    //Get reference to your elements 
    var items = document.getElementsByClassName("market_listings"); 

    for (var i = 0; i < items.length; i++) //Loop through your elements 
    { 
     //Verify that the href starts with http://blabla.com/item 
     if (items[i].href.indexOf("http://blabla.com/item") === 0) 
     { 
      //If it does, open that URL in a new window. 
      window.open(items[i].href, "_blank"); 
     } 
    } 
} 

另一种方式来写它:

function OpenHrefsInNewWindow() { 
    //Get reference to your elements 
    var items = document.getElementsByClassName("market_listings"); 
    var i = 0; 

    while(i < items.length) //Loop through your elements 
    { 
     //Verify that the href starts with http://blabla.com/item 
     if (items[i].href.indexOf("http://blabla.com/item") === 0) 
     { 
      //If it does, open that URL in a new window. 
      window.open(items[i].href, "_blank"); 
     } 

     i++; //Increment i here. 
    } 
} 
+0

非常感谢,你的回答非常清楚,我很欣赏你花时间帮助我的事实。尽管它似乎还没有工作,但你绝对帮助我前进! <3 – bram

+0

我很高兴听到它的帮助。你介意把这个标记为正确答案吗? – t8tortotlover

+0

这正是我要做的,但我想先解决我的问题。我把var i = 0放在上面,因为tampermonkey想这样,但是tampermonkey在这里显示一个错误:for(i bram

-1

能retrive链接服用属性附加伤害值的URL及更高版本ankthing

Url = $(this).attr ('href')