[Topic DIscussion] 这个弹窗怎么才能屏蔽呢?:要打开xdg-open吗?
Tofloor
poster avatar
我只是来看看
deepin
2023-05-20 08:57
Author

如题,如图:要打开xdg-open吗?
截图_com.360.browser-stable_20230520005516.png

Reply Favorite View the author
All Replies
avatar
W2J
deepin
2023-05-20 18:15
#1

浏览器扩展插件,通常可以屏蔽脚本拉下来的广告,也能检测跟踪器和服务器ip和位置,还能判断线路连接的安全性。

不过有些广告联盟会向插件购买免除屏蔽的白名单,所以通常需要安装两个以上的插件,建立交叉屏蔽机制。

Reply View the author
avatar
我只是来看看
deepin
2023-05-20 18:47
#2
W2J

浏览器扩展插件,通常可以屏蔽脚本拉下来的广告,也能检测跟踪器和服务器ip和位置,还能判断线路连接的安全性。

不过有些广告联盟会向插件购买免除屏蔽的白名单,所以通常需要安装两个以上的插件,建立交叉屏蔽机制。

好的,我试一下 ,谢谢

Reply View the author
avatar
150******89
deepin
2024-11-02 19:40
#3

这个 xdg-open弹窗跟广告是两码事吧?

Reply View the author
avatar
盛夏流蝉
deepin
2026-06-01 15:43
#4

实测在debian 12 成功屏蔽

方法: 禁用谷歌policy


抖音网页版弹窗问题排查与解决文档

📌 问题描述

在 Chrome 浏览器中访问抖音网页版(www.douyin.comso-landing.douyin.com)时,频繁弹出提示框:

"so-landing.douyin.com wants to open this application"

或 Linux 系统下出现 xdg-open 相关错误信息。


🔍 问题原因分析

根本原因

  1. 抖音网页试图唤起外部应用
    • 抖音页面中的某些链接或脚本会尝试通过自定义协议调用本地应用(如抖音客户端)
    • 涉及的协议包括:snssdk://snssdk1128://bytedance://bitbrowser://
  2. 系统找不到对应应用
    • Linux 环境下,xdg-open 找不到能处理这些协议的应用
    • Chrome 将请求交给系统后,系统反馈失败,弹出提示
  3. 浏览器设置无法完全阻止
    • Chrome 的"网站设置" → "Apps on device" 设置为 Block 后,弹窗仍然出现
    • 说明弹窗可能来自多个域名或由 JS 动态触发

为什么油猴脚本无效?

尝试方法 失败原因
拦截 location.href Cannot redefine property: href — 抖音锁定了 location 对象
拦截 location.replace Cannot assign to read only property 'replace' — 只读属性无法覆盖
拦截 window.open 部分可拦截,但协议跳转不走这个路径
拦截 a 标签点击 弹窗不是由用户点击触发的

结论:抖音页面有安全防护,油猴脚本在 JS 层面无法完全拦截协议跳转。


✅ 解决方案

方案一:Chrome Policy(推荐,100%有效)

在浏览器底层拦截自定义协议,网页 JS 无法绕过。

操作步骤

1. 创建 Chrome 政策目录

sudo mkdir -p /etc/opt/chrome/policies/managed

2. 创建政策文件

sudo tee /etc/opt/chrome/policies/managed/block-douyin-protocols.json > /dev/null << 'EOF'
{
  "URLBlocklist": [
    "snssdk://*",
    "snssdk1128://*",
    "bytedance://*",
    "bitbrowser://*"
  ]
}
EOF

3. 验证文件内容

cat /etc/opt/chrome/policies/managed/block-douyin-protocols.json

预期输出:

{
  "URLBlocklist": [
    "snssdk://*",
    "snssdk1128://*",
    "bytedance://*",
    "bitbrowser://*"
  ]
}

4. 重启 Chrome

pkill chrome

然后重新打开 Chrome。

5. 验证政策生效

在 Chrome 地址栏输入:

chrome://policy

确认 URLBlocklist 出现在列表中,且值正确。

6. 测试

访问抖音网页版,弹窗应消失。


方案二:浏览器网站设置(部分有效)

  1. 访问 https://www.douyin.com
  2. 点击地址栏左侧的锁图标
  3. 选择"网站设置"
  4. 找到 "Apps on device"(设备上的应用)
  5. 设置为 "Block"

⚠️ 注意:此方法可能不完全生效,因为弹窗可能来自多个域名。


方案三:其他浏览器参数(备选)

如果上述方法无效,可尝试启动 Chrome 时禁用外部协议处理:

google-chrome --disable-features=ExternalProtocolDialog

此参数会禁用外部协议对话框,但可能影响其他网站的正常功能。


📊 方案对比

方案 有效性 持久性 难度 推荐度
Chrome Policy ✅ 100% ✅ 永久 ⭐⭐ ⭐⭐⭐⭐⭐
网站设置 ⚠️ 部分有效 ❌ 可能失效 ⭐⭐
油猴脚本 ❌ 无效 ⭐⭐
启动参数 ✅ 有效 ⚠️ 每次需加参数 ⭐⭐⭐

🛠️ 故障排查

检查 Policy 是否生效

# 查看政策文件权限
ls -la /etc/opt/chrome/policies/managed/

# 查看 Chrome 政策日志
google-chrome --enable-logging --v=1 2>&1 | grep -i "blocklist"

删除 Policy(如需恢复)

sudo rm /etc/opt/chrome/policies/managed/block-douyin-protocols.json
pkill chrome

查看系统中注册的协议

grep -r "snssdk\|bytedance\|bitbrowser" ~/.local/share/applications/ ~/.config/ 2>/dev/null

📝 总结

  1. 问题本质:抖音网页试图通过自定义协议唤起外部应用,Linux 系统找不到处理程序
  2. 油猴脚本无效:抖音页面锁定了 location 对象,JS 层无法拦截
  3. 根本解决方案:使用 Chrome Policy 在浏览器底层拦截协议
  4. 关键命令:创建 /etc/opt/chrome/policies/managed/block-douyin-protocols.json

🔗 参考资料


文档版本:1.0
更新日期:2026-06-01
适用环境:Linux + Chrome + 抖音网页版

我把笔记放这里了

备份链接

https://luckyme258.github.io/%E9%9B%85%E6%80%9D%E8%AF%8D%E6%B1%87/viewer.html?file=%E7%AE%80%E8%A6%81%E7%AC%94%E8%AE%B0%2F%E6%8A%96%E9%9F%B3%E7%BD%91%E9%A1%B5%E7%9A%84%E4%BC%98%E5%8C%96%2F%E6%8F%8F%E8%BF%B0%E6%96%87%E6%A1%A3

复制笔记内容喂给AI 跟着提示操作就可以

Reply View the author
avatar
我只是来看看
deepin
2026-06-01 15:57
#5
盛夏流蝉

实测在debian 12 成功屏蔽

方法: 禁用谷歌policy


抖音网页版弹窗问题排查与解决文档

📌 问题描述

在 Chrome 浏览器中访问抖音网页版(www.douyin.comso-landing.douyin.com)时,频繁弹出提示框:

"so-landing.douyin.com wants to open this application"

或 Linux 系统下出现 xdg-open 相关错误信息。


🔍 问题原因分析

根本原因

  1. 抖音网页试图唤起外部应用
    • 抖音页面中的某些链接或脚本会尝试通过自定义协议调用本地应用(如抖音客户端)
    • 涉及的协议包括:snssdk://snssdk1128://bytedance://bitbrowser://
  2. 系统找不到对应应用
    • Linux 环境下,xdg-open 找不到能处理这些协议的应用
    • Chrome 将请求交给系统后,系统反馈失败,弹出提示
  3. 浏览器设置无法完全阻止
    • Chrome 的"网站设置" → "Apps on device" 设置为 Block 后,弹窗仍然出现
    • 说明弹窗可能来自多个域名或由 JS 动态触发

为什么油猴脚本无效?

尝试方法 失败原因
拦截 location.href Cannot redefine property: href — 抖音锁定了 location 对象
拦截 location.replace Cannot assign to read only property 'replace' — 只读属性无法覆盖
拦截 window.open 部分可拦截,但协议跳转不走这个路径
拦截 a 标签点击 弹窗不是由用户点击触发的

结论:抖音页面有安全防护,油猴脚本在 JS 层面无法完全拦截协议跳转。


✅ 解决方案

方案一:Chrome Policy(推荐,100%有效)

在浏览器底层拦截自定义协议,网页 JS 无法绕过。

操作步骤

1. 创建 Chrome 政策目录

sudo mkdir -p /etc/opt/chrome/policies/managed

2. 创建政策文件

sudo tee /etc/opt/chrome/policies/managed/block-douyin-protocols.json > /dev/null << 'EOF'
{
  "URLBlocklist": [
    "snssdk://*",
    "snssdk1128://*",
    "bytedance://*",
    "bitbrowser://*"
  ]
}
EOF

3. 验证文件内容

cat /etc/opt/chrome/policies/managed/block-douyin-protocols.json

预期输出:

{
  "URLBlocklist": [
    "snssdk://*",
    "snssdk1128://*",
    "bytedance://*",
    "bitbrowser://*"
  ]
}

4. 重启 Chrome

pkill chrome

然后重新打开 Chrome。

5. 验证政策生效

在 Chrome 地址栏输入:

chrome://policy

确认 URLBlocklist 出现在列表中,且值正确。

6. 测试

访问抖音网页版,弹窗应消失。


方案二:浏览器网站设置(部分有效)

  1. 访问 https://www.douyin.com
  2. 点击地址栏左侧的锁图标
  3. 选择"网站设置"
  4. 找到 "Apps on device"(设备上的应用)
  5. 设置为 "Block"

⚠️ 注意:此方法可能不完全生效,因为弹窗可能来自多个域名。


方案三:其他浏览器参数(备选)

如果上述方法无效,可尝试启动 Chrome 时禁用外部协议处理:

google-chrome --disable-features=ExternalProtocolDialog

此参数会禁用外部协议对话框,但可能影响其他网站的正常功能。


📊 方案对比

方案 有效性 持久性 难度 推荐度
Chrome Policy ✅ 100% ✅ 永久 ⭐⭐ ⭐⭐⭐⭐⭐
网站设置 ⚠️ 部分有效 ❌ 可能失效 ⭐⭐
油猴脚本 ❌ 无效 ⭐⭐
启动参数 ✅ 有效 ⚠️ 每次需加参数 ⭐⭐⭐

🛠️ 故障排查

检查 Policy 是否生效

# 查看政策文件权限
ls -la /etc/opt/chrome/policies/managed/

# 查看 Chrome 政策日志
google-chrome --enable-logging --v=1 2>&1 | grep -i "blocklist"

删除 Policy(如需恢复)

sudo rm /etc/opt/chrome/policies/managed/block-douyin-protocols.json
pkill chrome

查看系统中注册的协议

grep -r "snssdk\|bytedance\|bitbrowser" ~/.local/share/applications/ ~/.config/ 2>/dev/null

📝 总结

  1. 问题本质:抖音网页试图通过自定义协议唤起外部应用,Linux 系统找不到处理程序
  2. 油猴脚本无效:抖音页面锁定了 location 对象,JS 层无法拦截
  3. 根本解决方案:使用 Chrome Policy 在浏览器底层拦截协议
  4. 关键命令:创建 /etc/opt/chrome/policies/managed/block-douyin-protocols.json

🔗 参考资料


文档版本:1.0
更新日期:2026-06-01
适用环境:Linux + Chrome + 抖音网页版

我把笔记放这里了

备份链接

https://luckyme258.github.io/%E9%9B%85%E6%80%9D%E8%AF%8D%E6%B1%87/viewer.html?file=%E7%AE%80%E8%A6%81%E7%AC%94%E8%AE%B0%2F%E6%8A%96%E9%9F%B3%E7%BD%91%E9%A1%B5%E7%9A%84%E4%BC%98%E5%8C%96%2F%E6%8F%8F%E8%BF%B0%E6%96%87%E6%A1%A3

复制笔记内容喂给AI 跟着提示操作就可以

谢谢了,虽然现在已经不用Linux了

Reply View the author
avatar
盛夏流蝉
deepin
2026-06-01 20:54
#6
我只是来看看

谢谢了,虽然现在已经不用Linux了

win11应该是类似原理

Reply View the author