有没有什么插件/脚本可以挡住浏览器正在访问的域名

不想让别人知道我的宝藏网站 :heart_eyes:

没明白你意思,能否具体说明一下

常规话题快问快答

我猜是这样,他想要一个贴纸,可以固定挡住网站域名 :laughing:

image

:drooling_face: 是的,就是这样 你这哪来的啊

他这个应该是贴的图

3 Likes

你可以看下这个,我不知道是否可以达到你要的效果

3 Likes

我用的Vivaldi浏览器可以直接隐藏整个地址栏

这个肯定是不行的,这个就是一个链接跳转

确实

4 Likes

帮你排除了油猴插件的思路,只能遮挡网页内的,网页头部不归 js 管 :laughing:

2 Likes

搞个python吧。

总结
from tkinter import colorchooser, Canvas, BOTH, Tk
from os import path, makedirs
from json import load, dump
from pystray import MenuItem as item, Icon
from PIL import Image, ImageDraw
from keyboard import add_hotkey

CONFIG_PATH = path.join(path.expanduser("~"), 'temp', 'resizable_rectangle_config.json')

class ResizableRectangle:
    def __init__(self, root):
        self.root = root
        self.root.attributes('-topmost', True)
        self.root.overrideredirect(True)
        
        self.load_config()

        self.rect = Canvas(root, bg=self.rect_color, highlightthickness=0)
        self.rect.pack(fill=BOTH, expand=True)

        self.rect.bind('<Button-1>', self.start_move_or_resize)
        self.rect.bind('<B1-Motion>', self.on_move_or_resize)
        self.rect.bind('<ButtonRelease-1>', self.reset_flags)
        self.rect.bind('<Button-3>', self.choose_color)
        self.rect.bind('<Double-1>', self.minimize_to_tray)
        self.rect.bind('<Motion>', self.check_corner)
        self.rect.bind('<MouseWheel>', self.on_wheel)

        self.resizing = False
        self.moving = False
        self.in_corner = False

        self.tray_icon = None
        self.create_tray_icon()
        add_hotkey('alt+g', self.toggle_minimize_restore)

    def start_move_or_resize(self, event):
        self.start_x = event.x
        self.start_y = event.y
        self.orig_x = self.root.winfo_x()
        self.orig_y = self.root.winfo_y()
        self.orig_width = self.root.winfo_width()
        self.orig_height = self.root.winfo_height()
        if self.in_corner:
            self.resizing = True
        else:
            self.moving = True

    def on_move_or_resize(self, event):
        if self.moving:
            delta_x = event.x - self.start_x
            delta_y = event.y - self.start_y
            new_x = self.orig_x + delta_x
            new_y = self.orig_y + delta_y
            self.root.geometry(f'+{new_x}+{new_y}')
        elif self.resizing:
            delta_width = event.x - self.start_x
            delta_height = event.y - self.start_y
            new_width = max(self.orig_width + delta_width, 1)
            new_height = max(self.orig_height + delta_height, 1)
            self.root.geometry(f'{new_width}x{new_height}+{self.orig_x}+{self.orig_y}')
        self.save_config()

    def choose_color(self, event):
        color = colorchooser.askcolor(title="Choose Color")
        if color[1]:
            self.rect_color = color[1]
            self.rect.config(bg=self.rect_color)
            self.save_config()

    def close_window(self, icon, item):
        icon.stop()
        self.tray_icon = None
        self.root.quit()

    def reset_flags(self, event):
        self.moving = False
        self.resizing = False

    def check_corner(self, event):
        margin = 10
        width = self.root.winfo_width()
        height = self.root.winfo_height()
        if event.x >= width - margin and event.y >= height - margin:
            self.in_corner = True
            self.rect.config(cursor='size_nw_se')
        else:
            self.in_corner = False
            self.rect.config(cursor='arrow')

    def on_wheel(self, event):
        scale = 1.1 if event.delta > 0 else 0.9
        width = int(self.root.winfo_width() * scale)
        height = int(self.root.winfo_height() * scale)
        x = self.root.winfo_x()
        y = self.root.winfo_y()
        self.root.geometry(f'{width}x{height}+{x}+{y}')
        self.save_config()

    def minimize_to_tray(self, event=None):
        self.root.withdraw()
        self.tray_icon.visible = True

    def restore_from_tray(self, icon, item):
        self.root.deiconify()
        self.tray_icon.visible = False

    def toggle_minimize_restore(self):
        if self.root.state() == 'withdrawn':
            self.restore_from_tray(None, None)
        else:
            self.minimize_to_tray()

    def reset_to_initial(self, icon, item):
        self.root.geometry('100x100+100+100')
        self.rect.config(bg='white')
        self.save_config()

    def create_tray_icon(self):
        image = Image.new('RGB', (64, 64), color='white')
        draw = ImageDraw.Draw(image)
        draw.rectangle([0, 0, 63, 63], outline='black', width=2)
        menu = (
            item('Restore', self.restore_from_tray),
            item('Reset', self.reset_to_initial),
            item('Exit', lambda icon, item: self.close_window(icon, item))
        )
        self.tray_icon = Icon("ResizableRectangle", image, "Resizable Rectangle", menu)
        self.tray_icon.run_detached()

    def save_config(self):
        config = {
            'geometry': self.root.geometry(),
            'color': self.rect_color
        }
        makedirs(path.dirname(CONFIG_PATH), exist_ok=True)
        with open(CONFIG_PATH, 'w') as f:
            dump(config, f)

    def load_config(self):
        if path.exists(CONFIG_PATH):
            with open(CONFIG_PATH, 'r') as f:
                config = load(f)
                self.root.geometry(config.get('geometry', '100x100+100+100'))
                self.rect_color = config.get('color', 'white')
        else:
            self.rect_color = 'white'
            self.root.geometry('100x100+100+100')

if __name__ == "__main__":
    root = Tk()
    app = ResizableRectangle(root)
    root.mainloop()

咱也确实是没啥办法,刚刚突然想起来用py弄个小工具也能解决。
https://wwk.lanzouo.com/iHNcF236il1c 密码:f9ek

2 Likes

插件和脚本都是在浏览器里执行的,你要遮挡的是浏览器本身的窗口的一部分,插件和脚本肯定是不行的。可以写个程序,创建一个置顶窗口把url挡掉。或者浏览器里按f11,全屏就不显示url了。也可以试试把你要访问的网站以app的方式(启动参数里)打开,也是不显示url的

1 Like

好不方便,你这样打错地址了自己都不知道

小火汁需求挺怪,喜欢大庭广众的访问小网站是吧

1 Like

最简单的方法:F11

1 Like

这个需求太太小众了

1 Like

这也太麻烦了吧

试试用浏览器的APP模式启动

如果是chrome浏览器,在CMD或Powershell 里输入命令

start chrome --app=https://linux.do

如果start chrome 启动不了,就换成chrome的路径(不同安装方法的路径可能不一样),比如我的CMD命令是:

"C:\Program Files\Google\Chrome\Application\chrome.exe"  --app=https://linux.do

如果是edge 浏览器,CMD命令是:

start msedge --app=https://linux.do

也可以把上面的命令存储到一个bat文件,点开就行。

使用效果:

7 Likes

如果是你视频录播用,可以考虑弄嵌套网页,如果你是给别人用,那建议弄了app,直接放进去。还要屏蔽抓包,虽然只能防些技术很低的人

1 Like