Как добавить событие onclick в HTMLAnchorElement? - PullRequest
0 голосов
/ 22 мая 2019

Я работаю над ионным приложением. В рамках этого приложения я отправляю запрос на получение и получаю HTML-страницу. Теперь мне нужно представить это в моем приложении. Я пытался представить его в iframe с использованием srcdoc, но на веб-странице есть ссылки на другие страницы, и при щелчке по ней мне нужно предоставить заголовок авторизации. Поэтому я решил, что должен взять строку html и манипулировать ею, чтобы при щелчке якоря он вызывал функцию и отправлял запрос get с головой авторизации (на URL-адрес href)

Я преобразовываю свою строку html в объект Document и получаю все элементы "a":

var doc = (new DOMParser).parseFromString(this.htmlPage, "text/html");
var links = doc.body.getElementsByTagName("a");
for (let i = 0; i < links.length; i++) {
      const element = links.item(i);
      var self = this;
      element.onclick = function() {
        self.redirect(element.href);
      };
      element.removeAttribute("href");
    }

Атрибут href удаляется, но событие onclick не добавляется. Как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 29 мая 2019

Разобрался.Просто сделал:

element.addEventListener("click", () => {
    this.redirect(element.href);
  });

и затем добавил на страницу, позвонив:

this.webview.nativeElement.appendChild(doc.body);
0 голосов
/ 24 мая 2019

Всего:

  <a (click)="myFunction()"></a>
...