2014-02-15 30 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')