【问题标题】:Change Chrome 4xx Page更改 Chrome 4xx 页面
【发布时间】:2013-01-28 06:33:33
【问题描述】:

我正在部署一个 kiosk 系统,该系统使用 Chrome 来显示一个在码头中运行的 java web 应用程序,该应用程序从一个 windows 服务包装器开始。系统启动后,码头需要一些时间才能准备好提供内容,所以现在我有一个等待,然后在 kiosk 模式下启动 Chrome。这很丑陋,不可靠且缓慢。

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

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

【问题讨论】:

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


    【解决方案1】:

    您可以使用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>
    

    参考

    【讨论】:

      【解决方案2】:

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

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

      详细说明here

      【讨论】:

      • 问题是服务器没有启动,所以问题可能是 408 错误而不是 404 错误。没有要显示的自定义服务器端错误页面。
      猜你喜欢
      • 1970-01-01
      • 2018-04-02
      • 2012-05-04
      • 1970-01-01
      • 1970-01-01
      • 2012-01-10
      • 2018-09-20
      • 1970-01-01
      • 2018-02-23
      相关资源
      最近更新 更多