Я не хочу сказать, что это невозможно, но ... это будет по крайней мере довольно сложно. Браузер (или, по крайней мере, все те, о которых я знаю) прокручивает точку привязки, как только эта часть страницы загружается; AFAIK, нет никакого способа избежать этого на основе Javascript (вам понадобится плагин для браузера или что-то в этом роде).
Однако, я думаю, вы могли бы использовать вариант сценария «не показывать страницу, пока страница не будет полностью загружена», чтобы потенциально получить желаемое поведение. Другими словами, вы бы:
Скрыть всю предварительную загрузку содержимого вашей страницы (т. Е. Иметь DIV, который оборачивает всю вашу страницу, и добавить стиль «display: none»)
Присоедините обработчик события «onLoad» к странице, которая скрывает ваш DIV, и ...
В том же обработчике события «onLoad» используйте стандартный механизм прокрутки JS (т. Е. ScrollTo) для прокрутки до якоря (я думаю, что вы сможете определить, к какой привязке следует прокрутиться, проверив окно. место)
Теоретически, потому что браузер будет прокручивать браузер между # 1 и # 2 (и так как прокручивать некуда, с скрытым контентом и всем, я думаю, что он просто ничего не будет делать), механизм прокрутки, который вы используете в # 3, не должен иметь никаких помех.
При этом все вышеперечисленное является полностью непроверенным планом; Ваш пробег может варьироваться. Даже если это сработает, это будет очень трудно реализовать, поэтому, если вы действительно не захотите такого поведения, это почти наверняка не стоит проблем.