我正在使用angular7和electronic开发桌面应用程序,并且我想在其中添加嵌入式webbrower。我选择了iframe,并使用“ sandbox ='allow-forms allow-scripts allow-same-origin allow-top-navigation'”作为属性。现在有一个大问题,我已经阻止了弹出窗口,但是我真正想要的是在iframe中进行导航,就像“ target = _self”一样。
现在我有了一些想法,一个是捕获控制台错误“在新窗口中阻止打开'https://XXX/'”,并且可以从中提取URL,我尝试但失败了,主要问题是不知道错误事件来自何处,“ window.onerror”无法将其挂接。另一个是钩住src DOM并将_block替换为_self,并更改js脚本,这似乎很复杂。
有人可以来帮助我吗?
var options = ["day", "yearly","week", "sixmonth",'month',"newMonth"];
var days = ['day','week','month','yearly','sixmonth']
var sorted=days.filter(val=>options.includes(val))
options = options.filter(val => !days.includes(val))
sorted.push(...options)
console.log(sorted)
var s = document.getElementById("selectCity");
for (var i = 0; i < sorted.length; i++) {
s.innerHTML += `<option value=${i}> ${sorted[i]}</option>`;
}
我的测试代码,当我单击按钮时,它可能引发错误并被window.onerror捕获,但是无法捕获iframe网站的弹出网址。