Ссылка на конкретное место на странице, которую я не могу редактировать [дублировать]

Если ограничение внешнего ключа основано на типе varchar, то в дополнение к списку , предоставленному marv-el , целевой столбец должен иметь уникальное ограничение.

34
задан APerson 18 March 2013 в 18:35
поделиться

5 ответов

Просто добавьте #, за которым следует ID тега <a> (или другой тег HTML, например <section>), к которому вы пытаетесь добраться. Например, если вы пытаетесь установить ссылку на заголовок в этом HTML:

<p>This is some content.</p>
<h2><a id="target">Some Header</a></h2>
<p>This is some more content.</p>

Вы можете использовать ссылку <a href="http://url.to.site/index.html#target">Link</a>.

32
ответ дан Adirio 1 September 2018 в 04:17
поделиться

Создайте «ссылку перехода», используя следующий формат:

http://www.somesite.com/somepage#anchor

Где anchor - это идентификатор элемента, на который вы хотите ссылаться на этой странице. Используйте средства разработки браузера / источник поиска, чтобы найти идентификатор элемента, к которому вы хотите установить ссылку.

Если элемент не имеет идентификатора, и вы не контролируете этот сайт, вы не можете его сделать.

18
ответ дан cowls 1 September 2018 в 04:17
поделиться

Это возможно только в том случае, если этот сайт объявил якорь на странице. Это делается, указывая тег на имя или атрибут id , поэтому найдите любой из близких к тому, где вы хотите установить ссылку.

И тогда синтаксис будет

<a href="page.html#anchor">text</a>
3
ответ дан fredrik 1 September 2018 в 04:17
поделиться

Если целевая страница находится в том же домене (то есть имеет одинаковую историю с вашей страницей), и вы не возражаете против создания новых вкладок (1), вы можете (ab) использовать некоторый JavaScript:

<a href="javascript:void(window.open('./target.html').onload=function(){this.document.querySelector('p:nth-child(10)').scrollIntoView()})">see tenth paragraph on another page</a>

Trivia:

var w = window.open('some URL of the same origin');
w.onload = function(){
  // do whatever you want with `this.document`, like
  this.document.querySelecotor('footer').scrollIntoView()
}

Рабочим примером такого «эксплойта», который вы можете попробовать прямо сейчас, может быть:

javascript:(function(url,sel,w,el){w=window.open(url);w.addEventListener('load',function(){w.setTimeout(function(){el=w.document.querySelector(sel);el.scrollIntoView();el.style.backgroundColor='red'},1000)})})('https://stackoverflow.com/questions/45014240/link-to-a-specific-spot-on-a-page-i-cant-edit','footer')

Если вы введете это в строку местоположения (помните, что Chrome удаляет префикс javascript: при вставке из буфера обмена) или делает его href значением любой ссылки на этой странице (с помощью инструментов разработчика) и нажимает на нее , вы получите другую (дублирующую) страницу вопроса SO, прокручиваемую до нижнего колонтитула, а нижний колонтитул окрашен в красный цвет. (Задержка добавлена ​​в качестве обходного пути для загружаемого нижнего колонтитула, загруженного ajax после загрузки.)

Примечания

  • Проверено в текущих браузерах Chrome и Firefox, как правило, должно работать, поскольку оно основано на определенном стандартном поведении.
  • Невозможно проиллюстрировать в интерактивном фрагменте здесь в SO, потому что они изолированы от исходной страницы.
  • MDN: Window.open ()
  • (1) window.open(url,'_self'), кажется, нарушает load событие; в основном делает window.open вести себя как обычная a href="" навигация по клику; еще не исследовали
2
ответ дан myf 1 September 2018 в 04:17
поделиться

Вначале целевой объект ссылается на BlockID, найденный в инструментах разработчика HTML-кода или хромов, к которым вы пытаетесь установить ссылку. Каждый код отличается, и вам нужно будет сделать рытье, чтобы найти идентификатор, который вы пытаетесь установить. Он должен выглядеть примерно как div class="page-container drawer-page-content" id"PageContainer". Обратите внимание, что это формат для всего раздела, на который делается ссылка, а не отдельный текст или изображение. Для этого вам нужно будет найти один и тот же код, но связанный с вашим целевым блоком. Например, dv id="your-block-id" В любом случае я просто читал эту тему, и идея пришла мне в голову, если вы пользователь Shopify и хотите сделать это, это почти то же самое, что указано. Но вместо

> http://url.to.site/index.html#target

Вы бы поставили

> http://storedomain.com/target

Например, я настраиваю страницу с отказом со ссылками, ведущими к подписке на рассылку новостей и блокам покупок на моей домашней странице поэтому я вставляю https://mystore-classifier.com/#shopify-section-1528945200235 для своей гиперссылки. Обратите внимание, что -classifier предназначен для моего внутреннего использования и не относится к вам. Это просто так, что я могу отслеживать свои магазины. Если вы хотите связать что-то другое, чем ваша домашняя страница, вы бы поставили

> http://mystore-classifier.com/pagename/#BlockID

Я надеюсь, что кто-то нашел это полезным, если что-то не так с моим объяснением, пожалуйста, дайте мне знать, поскольку я не программист HTML мой язык - C #!

1
ответ дан Ryan Buchanan 1 September 2018 в 04:17
поделиться
Другие вопросы по тегам:

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