开发者

Javascript Bookmarklet - Opening Multiple Links on a Page

开发者 https://www.devze.com 2022-12-26 04:47 出处:网络
I want to make a bookmarklet so that when I go on Digg, I can simply click it and have the top 10 stories open up in new tabs.

I want to make a bookmarklet so that when I go on Digg, I can simply click it and have the top 10 stories open up in new tabs.

The HTML on the page looks like this:

<div id="topten-list">
  <div class="news-summary img-thumb">
    <h3>
      <a href="/comics_animation/Pokemon_COMIC">Pokemon - (COMIC) 
      <span>
        <em style="background-image: url(&quot;/comics_animation/Pokemon_COMIC/a.png&quot;);">
        thumb</em>
      </span></a>
    </h3>
    <ul class="news-digg">
      <li class="digg-count">
        <a href="/comics_animation/Pokemon_COMIC">
          <strong>1872</strong>
        </a>
      </li>
    </ul>
  </div>
  <div class="news-summary img-thumb">
    <h3>
      <a href="/comedy/I_am_never_drinking_with_you_assholes_again_Pic">
      I am never drinking with you assholes again [Pic] 
      <span>
        <em style="background-image: url(&quot;/comedy/I_am_never_drinking_with_you_assholes_again_Pic/a.png&quot;);">
        thumb</em>
      </span></a>
    </h3>
    <ul class="news-digg">
      <li class="digg-count">
        <a href="/comedy/I_am_never_drinking_with_you_assholes_again_Pic">

          <strong>1650</strong>
        </a>
      </li>
    </ul>
  </div>
  <div class="news-summary news-thumb">
    <h3>
      <a href="/comedy/xkcd_Hell">xkcd: Hell 
      <span>
        <em开发者_开发问答 style="background-image: url(&quot;/comedy/xkcd_Hell/a.png&quot;);">
        thumb</em>
      </span></a>
    </h3>
    <ul class="news-digg">
      <li class="digg-count">
        <a href="/comedy/xkcd_Hell">
          <strong>1407</strong>
        </a>
      </li>
    </ul>
  </div>
  <div class="news-summary news-thumb">
    <h3>
      <a href="/arts_culture/6_Ridiculous_History_Myths_You_Probably_Think_Are_True">
      6 Ridiculous History Myths (You Probably Think Are True) 
      <span>
        <em style="background-image: url(&quot;/arts_culture/6_Ridiculous_History_Myths_You_Probably_Think_Are_True/a.jpg&quot;);">
        thumb</em>
      </span></a>
    </h3>
    <ul class="news-digg">
      <li class="digg-count">
        <a href="/arts_culture/6_Ridiculous_History_Myths_You_Probably_Think_Are_True">

          <strong>1216</strong>
        </a>
      </li>
    </ul>
  </div>
  <div class="news-summary news-thumb">
    <h3>
      <a href="/people/Why_Every_Chick_Flick_Is_Starting_to_Look_The_Same_CHART">
      Why Every Chick Flick Is Starting to Look The Same [CHART] 
      <span>
        <em style="background-image: url(&quot;/people/Why_Every_Chick_Flick_Is_Starting_to_Look_The_Same_CHART/a.jpg&quot;);">
        thumb</em>
      </span></a>
    </h3>
    <ul class="news-digg">
      <li class="digg-count">
        <a href="/people/Why_Every_Chick_Flick_Is_Starting_to_Look_The_Same_CHART">

          <strong>978</strong>
        </a>
      </li>
    </ul>
  </div>
  <div class="news-summary img-thumb">
    <h3>
      <a href="/food_drink/WTF_World_of_FAST_FOOD_Graphic">WTF
      World of FAST FOOD! [Graphic] 
      <span>
        <em style="background-image: url(&quot;/food_drink/WTF_World_of_FAST_FOOD_Graphic/a.jpg&quot;);">
        thumb</em>
      </span></a>
    </h3>
    <ul class="news-digg">
      <li class="digg-count">
        <a href="/food_drink/WTF_World_of_FAST_FOOD_Graphic">
          <strong>874</strong>
        </a>
      </li>
    </ul>
  </div>
  <div class="news-summary news-thumb">
    <h3>
      <a href="/people/10_Things_You_Don_t_Know_About_My_Life_As_a_Dominatrix">
      10 Things You Don&#39;t Know About My Life As a Dominatrix 
      <span>
        <em style="background-image: url(&quot;/people/10_Things_You_Don_t_Know_About_My_Life_As_a_Dominatrix/a.jpg&quot;);">
        thumb</em>
      </span></a>
    </h3>
    <ul class="news-digg">
      <li class="digg-count">
        <a href="/people/10_Things_You_Don_t_Know_About_My_Life_As_a_Dominatrix">

          <strong>751</strong>
        </a>
      </li>
    </ul>
  </div>
  <div class="news-summary img-thumb">
    <h3>
      <a href="/odd_stuff/Star_Trek_Transporter_Mishap_pic">Star
      Trek Transporter Mishap (pic) 
      <span>
        <em>thumb</em>
      </span></a>
    </h3>
    <ul class="news-digg">
      <li class="digg-count">
        <a href="/odd_stuff/Star_Trek_Transporter_Mishap_pic">
          <strong>667</strong>
        </a>
      </li>
    </ul>
  </div>
  <div class="news-summary vid-thumb">
    <h3>
      <a href="/pc_games/StarCraft_2_Beta_Breakup_Video">StarCraft
      2 Beta Breakup (Video) 
      <span>
        <em style="background-image: url(&quot;/pc_games/StarCraft_2_Beta_Breakup_Video/a.jpg&quot;);">
        thumb</em>
      </span></a>
    </h3>
    <ul class="news-digg">
      <li class="digg-count">
        <a href="/pc_games/StarCraft_2_Beta_Breakup_Video">
          <strong>627</strong>
        </a>
      </li>
    </ul>
  </div>
  <div class="news-summary news-thumb">
    <h3>
      <a href="/politics/Jon_Stewart_FL_Doc_Won_t_Touch_Yr_Penis_If_You_Voted_Obama">
      Jon Stewart: FL Doc Won&#39;t Touch Yr Penis If You Voted
      Obama 
      <span>
        <em style="background-image: url(&quot;/politics/Jon_Stewart_FL_Doc_Won_t_Touch_Yr_Penis_If_You_Voted_Obama/a.jpg&quot;);">
        thumb</em>
      </span></a>
    </h3>
    <ul class="news-digg">
      <li class="digg-count">
        <a href="/politics/Jon_Stewart_FL_Doc_Won_t_Touch_Yr_Penis_If_You_Voted_Obama">

          <strong>508</strong>
        </a>
      </li>
    </ul>
  </div>
</div>

So within each div with the class "news-summary", there is a link. How can I get javascript to go through the div "topten-list" and open each one?


I would prefer to use jQuery

but to apply it on external site try this (hint i copy paste from my prev thread) I suggest to create a page with two iframes one to navigate to the designated website and other to get DOM Objects. in the first one navigate to the site and then select its HTML and append it in the body of the second Iframe.

iframe2.contentWindow.document.body.innerHTML = iframe1.contentWindow.document.body.innerHTML

then in the second iframe you will have the jquery script loaded and you can run this code.

$("news-summary img-thumb").find("news-digg").find("a").each(
function()
{
window.open(window.location + $(this).attr("href"));
}
)

tell me how it goes


The solution was this: I created a Javascript for statement which looped through the topten-list div and selected all tags named 'a'.

The final bookmarklet is this:

javascript:for(i=0;i<=18;i=i+2){window.open(document.getElementById('topten-list').getElementsByTagName('a')[i]);}

Ta-da!

0

精彩评论

暂无评论...
验证码 换一张
取 消