【问题标题】:Add to a hrefs of certain class using javascript使用 javascript 添加到某个类的 href
【发布时间】:2017-04-12 00:12:03
【问题描述】:

这是我的代码

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 函数也不会出于某种原因添加添加内容。

https://www.google.com/search?q=test&tbs=cdr:1,cd_min:0000&start=000&tbm=bks&num=100

https://www.google.com/search?q=test&tbs=cdr:1,cd_min:0000&start=000&tbm=bks&num=100#q=test&tbs=cdr:1,cd_min:0000&tbm=bks&start=100&num=100

【问题讨论】:

  • “用#链接示例更新”是什么意思?我真的不清楚你希望发生什么,或者至少你希望什么时候发生(当它没有发生时)。
  • 您似乎想要将 &amp;num=100 添加到 Google 搜索链接。您是否知道您可以将 Google 搜索设置设置为默认始终显示 100 个结果?因此,不需要将其作为 URL 的一部分?

标签: javascript arrays google-chrome-extension


【解决方案1】:

无法从代码中得出当前的架构。

但是一旦触发更新页面的功能,你就可以调用这两个函数。

假设有一个函数会触发更新

function updatePage(){
 // Rest of code
 // on update complete call the other two function
 pagechangefl()
 pagechangepn
}

【讨论】:

    【解决方案2】:

    你的意思是这样的吗?

    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;
            });
    });
    

    【讨论】:

      猜你喜欢
      • 2015-11-10
      • 2021-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-27
      • 2011-08-04
      • 2016-07-13
      • 2022-01-11
      相关资源
      最近更新 更多