Если целевая страница находится в том же домене (то есть имеет одинаковую историю с вашей страницей), и вы не возражаете против создания новых вкладок (1), вы можете (ab) использовать некоторый JavaScript:
see tenth paragraph on another page
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=""
навигация по клику; еще не исследовали NSRect, NSSize, NSPoint и подобные типы недоступны на iPhone. Вместо этого используйте CGRect / CGSize / CGPoint.
Я не знаю, почему он не определен из основного заголовка, но попробуйте использовать CGRect .
Он функционально эквивалентен и определен в основных заголовках
Из документации Apple:
При сборке для 64-разрядных систем или при сборке 32-разрядных, например 64-разрядных, NSRect определяется типом CGRect.