Сохранять положение прокрутки в Javascript window.open ()

Как сохранить положение прокрутки родительской страницы при открытии нового окна с помощью window.open ()? Родительская страница вернется в верхнюю часть страницы.

Вот мой текущий код:

<a href = "#" onclick = "javascript: window.open('myPage.aspx');">
   Open New Window
</a>
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
4
0
5 397
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий
<a href = "#" onclick = "window.open('myPage.aspx');return false;">Open New Window</a>
  • javascript: не требуется в атрибутах событий.
  • Вы не возвращали false от обработчика событий, поэтому ссылка была следующей, она эквивалентна <a href = "#">Scroll to top</a>.

Я думаю, проблема в том, что ваша ссылка указывает на пустой # (href = "#"), который браузер интерпретирует как «верх страницы».

Попробуйте удалить атрибут href из тега привязки. Атрибут onclick должен быть достаточным для того, что вам нужно.

<a href = "javascript:void()" onclick = "window.open('myPage.aspx');">Open New Window</a>

Надо это сделать. Как уже упоминали другие, # пытается перейти к несуществующей привязке, что приведет к прокрутке браузера вверх. Вы не хотите удалять атрибут href, потому что некоторые браузеры не обрабатывают теги <a> без атрибутов href как ссылки для целей стилизации, и вам придется определить дополнительные правила CSS, чтобы ссылка выглядела как другие ссылки на вашем сайте. .

Кроме того, зачем использовать атрибут href, а затем пытаться заблокировать событие, всегда возвращая false из вашего обработчика. На мой взгляд, этот способ чище, чем другие, предложенные здесь.

Хорошо, если страница будет доступна для тех, у кого нет javascript или он отключен:

<a href = "myPage.aspx" target = "_blank" onclick = "window.open('myPage.aspx');return false;">Open New Window</a>

Target = "_ blank" - открыть в новом окне (или вкладке). Если у клиента нет JS, он все равно откроет страницу, но не в окне, вызванном JS.

Другие вопросы по теме