更改Chrome 4xx页面

时间:2013-02-12 20:31:10

标签: google-chrome google-chrome-extension kiosk kiosk-mode

我正在部署一个自助服务终端系统,该系统使用Chrome来显示一个使用Windows服务包装器启动的在jetty中运行的Java Web应用程序。系统启动后,jetty准备好提供内容需要一些时间,所以现在我等待,然后以kiosk模式启动Chrome。这非常丑陋,不可靠和缓慢。

我要做的是为了让它运行更顺畅是使用Chrome扩展程序检测4xx错误并设置重新加载页面的超时。我有这个工作原样,但它仍然是一个丑陋的解决方案,因为页面每3秒刷新一次,这是“糟糕!谷歌Chrome无法找到......”页面,在用户等待时向用户显示。我可以在后台修复ajax请求的第一个问题,以检测页面何时准备就绪但我真的想向用户显示一个漂亮的“加载”屏幕而不是错误页面。我不是Chrome扩展程序开发人员,到目前为止,我尝试使用扩展程序解决此问题的所有尝试都失败了。

我认为可以自定义错误页面但我无法找到有关如何执行此操作的任何信息,因为我在主题中心找到的所有搜索结果都围绕512最小尺寸问题。

2 个答案:

答案 0 :(得分:5)

您可以使用webNavigation API自定义错误页面。为onErrorOccurred事件添加事件监听器并更新相关详细信息。

检查示例代码作为参考。

示范

的manifest.json

注册后台页面并添加了对清单文件的所有相关权限。

{
    "name": "Customize error page",
    "description": "",
    "version": "1",
    "manifest_version": 2,
    "background": {
        "scripts": [
            "background.js"
        ]
    },
    "permissions": [
        "webNavigation",
        "<all_urls>"
    ],
    "web_accessible_resources": [
        "page.html"
    ]
}

background.js

如果出现任何错误,重定向到我们的自定义页面,您可以将其自定义为所需级别。

//Adding a Listener to Error Occured Event
chrome.webNavigation.onErrorOccurred.addListener(function (details) {
    // Updating the browser window with desired URL
    chrome.tabs.update(details.tabId, {
        url: chrome.extension.getURL("page.html")
    });
});

page.html中

一些简单的代码

<html>
    <style>
        body {
            background:yellow;
            position:absolute;
        }
    </style>

    <body>
        <div style="top: 200px;position: absolute;left: 500px;width: 500;font-size: 40px;">This is a Nice Description</div>
    </body>

</html>

参考

答案 1 :(得分:1)

转到选项,隐私设置,然后取消选中该框:

“使用网络服务来帮助解决导航错误”

详细说明here