这是我的代码
function pagechangefl() {
var list1 = document.getElementsByClassName("fl");
for (var k = 0; k < list1.length; k++) {
var str1 = list1[k].href;
var str2 = "&num=100";
if (!(str1.endsWith("&num=100"))) {
list1[k].href = str1 + str2;
}
}
}
function pagechangepn() {
var list2 = document.getElementsByClassName("pn");
for (var i = 0; i < list2.length; i++) {
var str3 = list2[i].href;
var str4 = "&num=100";
if (!(str3.endsWith("&num=100"))) {
list2[i].href = str3 + str4;
}
}
}
var t1 = setInterval(pagechangefl, 1000);
var t2 = setInterval(pagechangepn, 1000);
当前代码的问题是我不想使用计时器我希望每次使用#links示例更新页面时都运行这些函数。即使使用计时器,pagechangefl函数也不会因某种原因添加添加内容。
VS
https://www.google.com/search?q=test&tbs=cdr:1,cd_min:0000&start=000&tbm=bks&num=100
答案 0 :(得分:0)
无法从代码中提出当前的架构。
但是一旦触发了更新页面的功能,你就可以调用这两个函数。
假设有一个触发更新的功能
function updatePage(){
// Rest of code
// on update complete call the other two function
pagechangefl()
pagechangepn
}
答案 1 :(得分:0)
window.addEventListener('hashchange', function(){
document.querySelectorAll('.fn[href], .pn[href]')
.forEach(function(node){
var url = new URL(node.href),
hash = new URLSearchParams(url.hash.replace(/^#/, ""));
hash.searchParams.set('num', 100);
url.hash = hash;
node.href = url;
});
});