Этот вопрос немного старый, но я только что прошел через него и думаю, что смогу помочь любому, кто ищет ответ в будущем.
Я столкнулся с этой проблемой, потому что сайт, который я создавал, имел встроенную систему отслеживания, которая отслеживала URL-адреса исходящих ссылок для объявлений, размещаемых самостоятельно. Если я не перенаправляю, нет способа (без изменения способа реализации) отслеживать клик, так как я не использую API или что-то еще.
Легким решением было сделать то, что вы сделали, отправив обратно HttpResponse()
, содержимое которого - метатег
<meta http-equiv="refresh" content="0;url=mailto:youremail@test.com" />
Это приводит к обновлению страницы при загрузке, что вызывает действие mailto:
.
Теперь у нас осталось открытое окно, но мы не можем закрыть окно с помощью метода window.close()
Javascript. Однако я считаю, что это решение должно работать. Вызовите эту функцию Javascript после успешного обновления.
К сожалению, я не проверял это, но эти два метода должны выполнить перенаправление mailto:
, которое не оставляет пустое окно / вкладку позади.
Надеюсь, это поможет!