Как использовать атрибут mailto, не открывая вкладку браузера с помощью JSON? - PullRequest
0 голосов
/ 24 октября 2018

Issue Faced

Всплывающее окно JSON открывает новую вкладку браузера, а также почтовую программу по умолчанию при нажатии на ссылку mailto во всплывающем окне карты.

Что я делаю

Используя буклет для отображения маркеров карты, я использую файл JSON для отображения маркеров, которые выдают всплывающее окно.

Эта часть работает простохорошо.Проблема в том, что когда я нажимаю на адрес электронной почты mailto, он также открывает новую вкладку браузера.

Я попытался заменить атрибут url другими другими атрибутами, такими как href или link, но они просто делают ссылку непригодной для использования.

Это код, который я использую в файле JSON.

markers = [
  {
    "name": "NameNo1",
    "url": "mailto:mail@name1.com",
    "lat": 3.046111,
    "lng": 101.606111
  },
  {
    "name": "NameNo2",
    "url": "mailto:mail@name2.com",
    "lat": 2.9580555,
    "lng": 101.78666
  },
  {
    "name": "NameNo3",
    "url": "mailto:mail@name3.com",
    "lat": 3.008611,
    "lng": 101.592222
  }
];

Что я хочу случиться

При нажатии на ссылку mailto во всплывающем окне должна открываться только программа электронной почты по умолчанию.

Как настроить этот код JSON, чтобы при нажатии на поле url, он открывает только почтовую программу по умолчанию и не открывает новую вкладку браузера?

1 Ответ

0 голосов
/ 24 октября 2018

Я только что обнаружил, что ответ был в моем коде в файле javascript, я использовал:

 L.marker( [markers[i].lat, markers[i].lng], {icon: myIcon} )
.bindPopup( '<a href="' + markers[i].url + '" target="_blank">' + markers[i].name + '</a>' 
)
.addTo( map );

Я изменил цель наверх:

 L.marker( [markers[i].lat, markers[i].lng], {icon: myIcon} )
.bindPopup( '<a href="' + markers[i].url + '" target="_top">' + markers[i].name + '</a>' )
 .addTo( map );

Я не могу поверитьэто было так просто, я просто часами пытался исправить это в json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...