Как мне напрямую связать определенную часть сообщения в блоге или онлайн-статью? (например, к абзацу или заголовку)

16158
fatuhoku

Я хочу сослаться на некоторую действительно классную ЧАСТЬ статьи, например, на эту запись в блоге, в которой, помимо прочего, объявляется о старении карты в Trello .

Что я могу использовать, используя Google Chrome или в любом другом браузере в целом, для создания URL-адреса, который при щелчке мыши будет ссылаться непосредственно на этот заголовок? т.е. когда пользователь переходит по ссылке, он должен видеть следующее:

  • страница блога
6
Для пользователей Chrome я написал расширение ([доступно здесь] (https://chrome.google.com/webstore/detail/generate-links-for-header/dckfkngmahjdokkkmconmfjdmicjcmgf)), которое создает плавающую ссылку рядом с любым заголовком, который имеет назначенный идентификатор (или любой заголовок с дочерним элементом, которому назначен идентификатор). Он может использовать некоторые улучшения, такие как поддержка атрибута `name`, но он работает достаточно хорошо. Вы также можете [просмотреть исходный код] (https://github.com/grantwinney/generate-links-for-headers-in-chrome), если вам интересно. Grant 6 лет назад 1

2 ответа на вопрос

8
unor

В HTML вы можете ссылаться на фрагменты, добавляя их #FRAGMENTпо URL-адресу, где FRAGMENTнаходится значение idатрибута (для любого элемента) или nameатрибута (для элемента aили area). Автор HTML должен предоставить эти атрибуты.

Ручной способ найти их: отметить весь контент, на который вы хотите сослаться, проверить исходный код (обычно щелкните правой кнопкой мыши, а затем что-то вроде «Показать исходный код») и Ctrl+ fдля id=и name=.

XPointer - это спецификация, которая позволяет ссылаться на любую часть документа XHTML, даже если автор не предоставил никаких идентификаторов фрагментов. В настоящее время вам, вероятно, понадобится надстройка браузера (как и та, на которую вы хотите дать ссылку), чтобы включить поддержку XPointer.

Для старых версий Firefox есть FXPointer :

Сколько раз вы говорили другу или коллеге «Идите http://example.com/some/docи ищите XXXX»? Я делаю это много на самом деле. Фактически, это становится все более важным, так как мобильный интернет ускоряется, а небольшие экраны с более сложными в использовании клавиатурами становятся все более распространенными. Я хотел бы начать создавать ссылки в моих документах и ​​сообщениях в блогах, которые точно указывают на какой-то параграф на странице. Я надеюсь, что расширение FXPointer Firefox поможет.

Удивительно! Работал на меня. Iram Bukhari 5 лет назад 0
1
Darth Android

You can't (on this specific page). Linking to a particular subsection (such that a user's browser automatically scrolls to it) requires the use of HTML Anchors for each section, which that page does not have. More specifically, the heading would need to either contain or have nearby:

  • An A (anchor) tag
  • With an id or name property

If those criteria are met, then you can link to

http://example.com/webpage.html#anchorName 

where anchorName is the value of the name or id property.

That Trello page just has a header though:

<h2>Card Aging</h2> 

So it can't be linked to. If they had used instead:

<h2><a name="aging">Card Aging</a></h2> 

then you could link to it like such:

http://blog.trello.com/introducing-power-ups-calendar-card-aging-and-more/#aging 
Как я и подозревал; Я думаю, что сервис, который будет обрабатывать определенный фрагмент данных о «статическом» контенте с помощью XPath или чего-то еще, был бы действительно полезным. Похоже, лучшее, что вы можете сделать, это выделить раздел мышью и сохранить это поддерево в таких приложениях, как Evernote; тогда вы поделитесь этим таким образом. Я надеюсь, что кто-то исправит эту ситуацию ...! fatuhoku 10 лет назад 0
Это полностью зависит от разработчика сайта. Darth Android 10 лет назад 0
Обратите внимание, что атрибут `id` может использоваться для любого элемента, а не только для` a`. unor 10 лет назад 0

Похожие вопросы