希望每个人都过得愉快!我试图创建一个书签,自动打开页面上带有POST标题的链接,但只有最后一个链接扩展到新页面。这有什么理由吗?(如果是这样,我怎么能看到修复它?)
javascript: (function() {
function openWindowWithPost(url, data) {
var form = document.createElement("form");
form.target = "_blank";
form.method = "POST";
form.action = url;
form.style.display = "none";
for (var key in data) {
var input = document.createElement("input");
input.type = "hidden";
input.name = key;
input.value = data[key];
form.appendChild(input);
}
document.body.appendChild(form);
form.submit();
document.body.removeChild(form);
}
var els = document.getElementsByTagName("a");
for (var i = 0, l = els.length; i < l; i++) {
var el = els[i];
console.log(typeof el.href);
console.log(el.href);
if (el.href.startsWith('example.com')) {
console.log(el.href.slice(39));
openWindowWithPost("example.php", {
id: el.href.slice(39),
pdf: "-"
});
}
}
})();
谢谢!
答案 0 :(得分:0)
您的JavaScript代码就像是页面中的代码一样运行(您可能知道),其权限和都有其限制。
浏览器不允许页面中的JavaScript代码打开无限数量的窗口,因为当他们曾经允许这样做时,它被恶意网站滥用。因此,当页面上的代码尝试这样做时,浏览器会阻止它。 如何的具体细节阻止了它以及它允许事件发生的程度是特定于浏览器的。
您可能需要在每个窗口中打开一个用户事件(例如,重复触发书签,并让书签一次执行一个链接)。