BlenderB 发表于 2022-6-22 09:34:16

哥哥们求助,匹配网页:针对多个不同网页实行不同代码

求助,卡住了。以前我用少量不同网页是可以用if+document.location.href 是否等于当前网页
    // @match    https://www.baidu.com/*
    // @match    https://www.4399.com/*   
    if((document.location.href == "https://www.baidu.com/)){
      alert("百度")
    }else if(document.location.href == "https://www.4399.com/"){
      alert("4399")
      }
      
现在如果我遇到了4399或者百度的子网页再细分。就很麻烦
比如:https://www.4399.com/flash/210650.htm
https://www.4399.com/231

···后面还有不同数字后缀的4399页
我该用哪种方法才能做到跟头部match一样 在代码中做到批量匹配 https://www.4399.com/*的网页

rubinTime 发表于 2022-6-22 09:34:17

const reg=/(http|https):\/\/www\.(.*?)\.com(.*)/ig

let flag=reg.test("https://www.4399.com/flash/210650.htm")
console.log(flag,RegExp.$1,RegExp.$2,RegExp.$3)

//输出结果:true 'https' '4399' '/flash/210650.htm'
//然后可以再用字符串的startWith方法对flash部分进行判断

BlenderB 发表于 2022-6-22 09:35:54

上面描述的有点乱,就是想一个脚本里,针对不同网页,实行不同代码

Su. 发表于 2022-6-22 09:36:33

在href里加个*不行么?

BlenderB 发表于 2022-6-22 09:39:35

比如我想再代码里批量匹配 https://www.4399.com/flash/数字.htm等的所有内容,我发现以下代码是行不通的
if(document.location.href == "https://www.4399.com/*.htm"){
alert("4399")
}

Su. 发表于 2022-6-22 09:57:51

BlenderB 发表于 2022-6-22 09:39
比如我想再代码里批量匹配 https://www.4399.com/flash/数字.htm等的所有内容,我发现以下代码是行不通的
i ...

"https://www.4399.com/flash/*.htm"呢?

BlenderB 发表于 2022-6-22 10:03:26

Su. 发表于 2022-6-22 09:36
在href里加个*不行么?

!(data/attachment/forum/202206/22/100306xj4aekgraivvipqk.png)
哥哥我试过弄不了。您说的是这样吗

BlenderB 发表于 2022-6-22 10:10:04

Su. 发表于 2022-6-22 09:57
"https://www.4399.com/flash/*.htm"呢?

不用4399做例子了。好像屏蔽了js或者油猴的,搜狐也不行。你看下面的回复

Su. 发表于 2022-6-22 10:10:08

BlenderB 发表于 2022-6-22 10:03
!(data/attachment/forum/202206/22/100306xj4aekgraivvipqk.png)
哥哥我试过弄不了。您说的是这样吗 ...

我去试试

rubinTime 发表于 2022-6-22 10:21:40

不知道你想要的是不是字符串包含
window.location.href.indexOf('www.4399.com')>-1
还有一种就是用正则表达式去匹配
页: [1] 2
查看完整版本: 哥哥们求助,匹配网页:针对多个不同网页实行不同代码