为什么FB共享代码中的“a”标记中需要“href”属性

时间:2013-09-28 21:49:28

标签: html css

<a href="#" 
  onclick="
    window.open(
      'https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(location.href), 
      'facebook-share-dialog', 
      'width=626,height=436'); 
    return false;">
  Share on Facebook
</a>

如果这是一个初学者问题,请道歉。但为什么“href”在那里呢?它有什么用途?我没有达到目的。

我假设“onclick”将打开一个新窗口,其中包含有关要共享的链接和FB目标目标的所有信息。

那为什么“href”在那里????

3 个答案:

答案 0 :(得分:2)

它指定URL的去向。在这种情况下,它设置为#意味着它不会打开URL,而是什么都不做。它告诉'标签'这个功能会做点什么。

将其视为默认指标。

希望有所帮助:)

答案 1 :(得分:2)

HTML锚点(<a>标记)定义可点击链接,但仅限于存在href属性的情况。 (可能没有href元素,而是nameid;在这种情况下,它不是可点击的链接,而是目的地用于链接)。 See the HTML specification for more detail

#属性上的href元素表示预定义的锚点,例如http://domain.com/page#section。在这种情况下,当点击链接时,浏览器将在http://domain.com/page打开页面,并且在其HTML中,浏览器需要一个名为#section的部分,由<a name="section">在其代码上定义。找到此部分后,浏览器会将屏幕定位在此位置。

如果未指定该部分,则仅提供#,这意味着它是指向本地页面的链接(或更具体地说,它的顶部) )即可。如果页面不在顶部,则跳转到顶部。如果它在顶部,则没有任何反应。

你可以通过一个带有<a href="#">text</a>链接的HTML文件来测试它,它会被点击,但是没有效果(唯一的效果是,如果它不在顶部,它会跳转到顶部)。

JavaScript代码is there to prevent the "jump to the top"末尾的return false;,如果您将其删除,浏览器会在点击时将其视图置于页面顶部。

有些人认为href应始终指向实际链接,使用#占位符是不好的做法。

答案 2 :(得分:1)

标记<a>如果不包含 href ,则不被视为可点击链接