Jak utworzyć link do części długiej strony w innej witrynie, nad którą nie sprawuję kontroli?Łączenie do określonej części strony internetowej
Pomyślałem, że możesz użyć wariantu #partofpage na końcu mojego linku. Jakieś sugestie?
Jak utworzyć link do części długiej strony w innej witrynie, nad którą nie sprawuję kontroli?Łączenie do określonej części strony internetowej
Pomyślałem, że możesz użyć wariantu #partofpage na końcu mojego linku. Jakieś sugestie?
Wystarczy dołączyć #
, a następnie identyfikator znacznika <a>
(lub innego znacznika HTML, np. <section>
), do którego próbujesz się dostać. Na przykład, jeśli próbujesz połączyć się z nagłówka w tym HTML:
<p>This is some content.</p>
<h2><a id="target">Some Header</a></h2>
<p>This is some more content.</p>
Można użyć linku <a href="http://url.to.site/index.html#target">Link</a>
.
Utwórz odnośnik „skoku” za pomocą następującego formatu:
http://www.somesite.com/somepage#anchor
Gdzie jest kotwica id elementu, który chcesz połączyć się na tej stronie. Użyj narzędzi programistycznych przeglądarki/wyświetl źródło, aby znaleźć identyfikator elementu, który chcesz połączyć.
Jeśli element nie ma identyfikatora i nie kontrolujesz tej witryny, nie możesz tego zrobić.
Dzięki chłopaki, to zawsze proste rzeczy, o których zapomniałeś !!! – mjmuk
Jest to możliwe tylko wtedy, gdy strona zadeklarowała zakotwiczenia na stronie. Odbywa się to poprzez nadanie plakietce numeru name or id attribute, dlatego należy wyszukać wszystkie znajdujące się w pobliżu miejsca, do którego ma prowadzić link.
A potem składnia byłoby
<a href="page.html#anchor">text</a>
Dzięki chłopaki, to zawsze proste rzeczy, o których zapomniałeś !!! – mjmuk
Atrybut 'name' jest obsługiwany tylko dla elementu' 'i jest przestarzały w HTML 5. – Quentin
W przypadku, gdy strona docelowa jest w tej samej domenie (np Podziela samego pochodzenia z Twojej strony) i nie masz nic przeciwko tworzeniu nowych kartach (1), można (ab) używać niektórych 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>
Ciekawostki:
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()
}
przykład Praca z takimi „exploit” można spróbować teraz mogą być:
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')
Jeśli wprowadzisz to w pasku adresu (umysł, że Chrome usuwa javascript:
prefiks gdy wklejony ze schowka) lub dokonać to wartość dowolnego linku na tej stronie (przy użyciu Narzędzi dla programistów) i kliknij go, otrzymasz kolejną (zduplikowaną) stronę z zapytaniem o SO przewiniętą do stopki i stopką pomalowaną na czerwono. (Delay dodany jako obejście ajax załadowana zawartość pchanie stopkę w dół po obciążeniu).
Uwagi
window.open(url,'_self')
wydaje się przełamać zdarzenie load
; zasadniczo sprawia, że window.open
zachowuje się jak normalna nawigacja po kliknięciu; nie badałem jeszcze więcej.Możesz użyć Citebite, aby połączyć się z określoną pozycją strony, nawet jeśli nie używa identyfikatora w tej pozycji.
Możliwy duplikat [Jak utworzyć powiązanie z częścią strony? (hash?)] (http://stackoverflow.com/questions/2835140/how-do--link-to-part-of-a-page-hash) – Quentin
Aby połączyć tę część odpowiedzi, użyj następującego linku, https : //stackoverflow.com/questions/15481911/linking-to-a-specific-part-of-a-web-page –
Aby połączyć tę część strony, użyj następującego linku, https://stackoverflow.com/questions/15481911/Linking-to-a-specific-of-a-web-page –