google-chrome - 在 OWN 浏览器中禁用刷新/后退/前进

标签 google-chrome google-chrome-extension browser back-button

有没有办法只让我的 OWN 浏览器 (Chrome) 无法后退/前进/刷新?

这种情况经常发生,当我在 devtools 中开发和玩弄时(更改 HTML 和 CSS 只是为了尝试一下)我有时会不小心向后滑动或出于习惯点击刷新。我希望能够通过某种扩展禁用后退或前进按钮?

我不会尝试禁用任何实时网站上的按钮,只是针对我在本地。有什么想法吗?

最佳答案

如果您想防止意外导航,则无需安装任何扩展。只需打开控制台,然后运行以下代码:

window.onbeforeunload = function() {
    return 'Want to unload?';
};

使用此代码,您将收到确认提示。


如果您真的想阻止页面通过扩展程序卸载,请使用 How to cancel webRequest silently in chrome extension 的答案中描述的技术。 .

这是一个向浏览器添加按钮的最小演示扩展。单击后,您将无法再导航到其他页面。不过,您仍然可以在没有任何警告的情况下关闭标签:

// background.js
chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.webRequest.onBeforeRequest.addListener(function(details) {
        var scheme = /^https/.test(details.url) ? 'https' : 'http';
        return { redirectUrl: scheme + '://robwu.nl/204' };
        // Or (seems to work now, but future support not guaranteed):
        // return { redirectUrl: 'javascript:' };
    }, {
        urls: ['*://*/*'],
        types: ['main_frame'],
        tabId: tab.id
    }, ['blocking']);
});

此扩展的 manifest.json:

{
    "name": "Never unload the current page any more!",
    "version": "1",
    "manifest_version": 2,
    "background": {
        "scripts": ["background.js"],
        "persistent": true
    },
    "browser_action": {
        "default_title": ""
    },
    "permissions": [
        "<all_urls>",
        "webRequest",
        "webRequestBlocking"
    ]
}

关于google-chrome - 在 OWN 浏览器中禁用刷新/后退/前进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21090972/

相关文章:

google-chrome - 显示FPS仪表 Chrome 33

google-chrome-extension - PhpStorm LiveEdit HTML 有效,但 CSS 无效

html - 在网格中输入

python - 在 Selenium 中处理弹出窗口

http - PATCH http 方法的跨浏览器可用性如何?

javascript - 为什么我的正则表达式仅在某些浏览器中有效?

css - MacOS Chrome 水平滚动条不消失

javascript - 检查项目是否已经在上下文菜单中

jquery - Delphi 中的 TWebBrowser 具有 jQuery UI 框架

html - <hr> 在 IOS Safari 和常规 android 浏览器上根本不显示。