本帖最后由 1595901624 于 2023-3-23 22:25 编辑
朋友申请的“文心一言”内测资格通过了,我试用了下,发现页面背景有水印。如果这样截图出去不就泄漏个人信息了吗。所以就写了个脚本去除水印。
原理很简单,就是加了个样式。现在截图就看起来很清爽了
油猴下载地址:
文心一言去除水印 (greasyfork.org)
v0.5---3月23日更新(支持最新版本)
注:0.4版本会导致文心一言打不开或者浏览器卡死现象,请尽快升级最新脚本。
如果后续出现文心一言无法打开或者打开文心一言后浏览器卡死,请第一时间先关闭脚本。
1、去背景水印
2、去AI作图水印
3、去超时弹窗
4、聊天头像默认为文心一言图标
(保护个人隐私)
v0.4---3月22日更新
1、去背景水印
2、去AI作图水印
3、去超时弹窗
4、聊天头像默认为文心一言图标
(保护个人隐私)
v0.2---3月20日更新
截至3月20日,文心一言加强了水印标签的功能。目前脚本已经支持去除最新版的水印。
(看来百度是铁了心的要一直加水印了,目前尚还不清楚加水印的目的)
v0.1 --- 3月18日更新
源码也贴下:
[JavaScript] 纯文本查看 复制代码 // ==UserScript==
// @name 文心一言去除水印(文心一言助手)
// @namespace [url=http://tampermonkey.net/]http://tampermonkey.net/[/url]
// @version 0.4
// @description 去除文心一言页面的水印,去除AI作图的水印、去除超时弹窗、头像改为默认头像
// @author 我是小学生
// @match [url=https://yiyan.baidu.com/]https://yiyan.baidu.com/[/url]*
// @icon [url=https://nlp-eb.cdn.bcebos.com/logo/favicon.ico]https://nlp-eb.cdn.bcebos.com/logo/favicon.ico[/url]
// @grant none
// @license GPL-3.0
// @run-at document-end
// @supportUrl [url=https://github.com/1595901624/ERNIEBotHelper]https://github.com/1595901624/ERNIEBotHelper[/url]
// ==/UserScript==
(function () {
'use strict';
const style = document.createElement('style');
style.innerHTML = `.ebhelper-hide { visibility: hidden !important; }`;
document.head.appendChild(style);
// ai图片水印标记
const aiImageWaterFlag = "x-bce-process=style/wm_ai";
// 创建一个MutationObserver实例
const observer = new MutationObserver(function (mutations) {
// 获取水印元素
let watermark = getElementByRegex(/^[\w\d]{8}-[\w\d]{4}-[\w\d]{4}-[\w\d]{4}-[\w\d]{12}$/);
if (watermark != null && watermark.classList != null && !watermark.classList.contains('ebhelper-hide')) {
hideWatermark(watermark);
}
// 获取弹窗的元素
let timeoutDialog = document.querySelector("div[class='ant-modal-root']");
if (timeoutDialog != null && !timeoutDialog.classList.contains('ebhelper-hide')) {
hideTimeoutDialog(timeoutDialog);
}
// 隐藏图片水印并处理头像
let allImage = document.querySelectorAll("img");
if (allImage != null) {
hideAIImageWatermark(allImage);
}
});
// 开始观察document,并在节点添加或删除时检测变化
observer.observe(document, {
childList: true,
subtree: true
});
/**
* 隐藏超时弹窗
*/
function hideTimeoutDialog(element) {
console.log("隐藏超时弹窗!");
element.classList.add('ebhelper-hide');
}
/**
* 隐藏水印
*/
function hideWatermark(element) {
console.log("隐藏水印!");
element.classList.add('ebhelper-hide');
}
/**
* 隐藏图片水印并处理头像
*/
function hideAIImageWatermark(images) {
images.forEach(element => {
let url = element.getAttribute("src");
// 去除水印
if (url != null && url.indexOf(aiImageWaterFlag) != -1) {
if (url.indexOf(aiImageWaterFlag) != -1) {
console.log("隐藏图片水印!");
element.setAttribute("src", url.replace(aiImageWaterFlag, ""))
}
}
// 处理头像
if (url != null
&& element.getAttribute("alt") == '头像'
&& url.indexOf('icon-rb') == '-1') {
console.log("设置头像为默认值!");
element.setAttribute("src", 'https://nlp-eb.cdn.bcebos.com/logo/favicon.ico')
}
});
}
/**
* 正则匹配元素,获取第一个元素
* @param {*} pattern
* @returns
*/
function getElementByRegex(pattern) {
let allElements = document.getElementsByTagName('div');
let result = "";
for (let i = 0; i < allElements.length; i++) {
let element = allElements[i];
let attr = element.getAttribute('id');
if (attr != null && pattern.test(attr)) {
result = element;
break;
}
}
return result;
}
})(); |