Если ограничение внешнего ключа основано на типе varchar
, то в дополнение к списку , предоставленному marv-el
, целевой столбец должен иметь уникальное ограничение.
Просто добавьте #
, за которым следует 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>
.
Создайте «ссылку перехода», используя следующий формат:
http://www.somesite.com/somepage#anchor
Где anchor - это идентификатор элемента, на который вы хотите ссылаться на этой странице. Используйте средства разработки браузера / источник поиска, чтобы найти идентификатор элемента, к которому вы хотите установить ссылку.
Если элемент не имеет идентификатора, и вы не контролируете этот сайт, вы не можете его сделать.
Это возможно только в том случае, если этот сайт объявил якорь на странице. Это делается, указывая тег на имя или атрибут id , поэтому найдите любой из близких к тому, где вы хотите установить ссылку.
И тогда синтаксис будет
<a href="page.html#anchor">text</a>
Если целевая страница находится в том же домене (то есть имеет одинаковую историю с вашей страницей), и вы не возражаете против создания новых вкладок (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 после загрузки.)
Примечания
window.open(url,'_self')
, кажется, нарушает load
событие; в основном делает window.open
вести себя как обычная a href=""
навигация по клику; еще не исследовали Вначале целевой объект ссылается на 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 #!