Javascript Bookmarklet - 在页面上打开多个链接

时间:2010-04-07 18:57:23

标签: javascript bookmarklet

我想创建一个书签,这样当我继续Digg时,我只需点击它就可以在新标签中打开前10个故事。

页面上的HTML如下所示:

<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>

因此,在每个具有“新闻摘要”类的div中,都有一个链接。如何让javascript通过div“topten-list”并打开每个?

2 个答案:

答案 0 :(得分:0)

我更喜欢使用jQuery

但是要在外部网站上应用它试试这个(提示我从我的上一个帖子复制粘贴) 我建议创建一个包含两个iframe的页面,一个导航到指定的网站,另一个用于获取DOM对象。 在第一个导航到该网站,然后选择其HTML和  将它附加在第二个iframe的主体中。

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

然后在第二个iframe中你将加载jquery脚本,你可以运行这段代码。

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

告诉我它是怎么回事

答案 1 :(得分:0)

解决方案是这样的:我创建了一个Javascript for语句,它循环遍历topten-list div并选择了所有名为'a'的标签。

最终的书签是:

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

钽哒!