我正在开发离子应用程序。作为此应用程序的一部分,我正在发送一个get请求并获取一个html页面。现在,我需要在我的应用中展示它。我尝试使用srcdoc在iframe中显示它,但是网页上有指向其他页面的链接,当单击它时,我需要提供一个Authorization标头。因此,我决定我应该采用html字符串并对其进行操作,以便在单击锚点时它将调用一个函数并发送带有授权头的get请求(至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事件。我该如何解决?
答案 0 :(得分:0)
就:
<a (click)="myFunction()"></a>
答案 1 :(得分:0)
弄清楚了。 刚刚做过:
element.addEventListener("click", () => {
this.redirect(element.href);
});
,然后通过调用将其添加到页面:
this.webview.nativeElement.appendChild(doc.body);