更改 Chrome 4xx 页面

2023-11-27

我正在部署一个信息亭系统,该系统使用 Chrome 来显示在 jetty 中运行的 java web 应用程序,该应用程序以 Windows 服务包装器启动。系统启动后需要一些时间才能让 jetty 准备好提供内容,因此现在我需要等待,然后以 kiosk 模式启动 Chrome。这是相当丑陋、不可靠且缓慢的。

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

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


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

检查示例代码作为参考。

示范

清单.json

注册后台页面并将所有相关权限添加到清单文件中。

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

背景.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")
    });
});

页面.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>

参考

  • webNavigation.onErrorOccurred
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改 Chrome 4xx 页面 的相关文章

随机推荐

  • 在普通 bash 中使用正则表达式提取子字符串

    我正在尝试使用 bash 从字符串中提取时间 但我很难弄清楚它 我的字符串是这样的 US Central 10 26 PM CST 我想提取10 26 part 有人知道仅使用 bash 执行此操作而不使用 sed awk 等的方法吗 就像
  • 错误域=NSOSStatusErrorDomain代码=560030580“操作无法完成。(OSStatus错误560030580。)”

    我正在使用 AVPlayer 播放在线 mp3 流 当我暂停播放器时 AVPlayer pause AVAudioSession session AVAudioSession sharedInstance session delegate
  • 如何在 Symfony 2 中传递 PHP 常量作为服务参数? [复制]

    这个问题在这里已经有答案了 使用配置文件定义服务时 如何传递 PHP 常量 CURLAUTH DIGEST在这个例子中 作为构造函数参数 I 现在无法测试但我假设 services my service class my service c
  • 使用C问题在线程之间传递数据

    我想知道如何使用在线程之间传递数据C语言 例如 X 等待来自某处的消息 Y 向 T X 发送有关事件的消息并等待响应 T X 处理该事件并向 T Y 发送响应 T X 等待另一条消息 一个示例程序取自https computing llnl
  • 绑定到静态属性

    我很难将简单的静态字符串属性绑定到文本框 这是具有静态属性的类 public class VersionManager private static string filterString public static string Filt
  • PHP 5.6.9 上的 Laravel 5 TokenMismatchException

    在 PHP 5 4 上运行 Laravel 5 应用程序时 Post 请求工作正常 在以下位置发布请求same app在 PHP 上运行5 6 9产生 TokenMismatchException verifyCsrfToken php 第
  • 为什么 C# 中允许重写静态方法

    protected static new void WhyIsThisValidCode 为什么允许重写静态方法 除了错误之外 它不会产生任何东西 它并不像你想象的那样工作 参加以下课程 class BaseLogger protected
  • C++中使用ifstream逐行读取文件

    file txt的内容是 5 3 6 4 7 1 10 5 11 6 12 3 12 4 Where 5 3是一个坐标对 如何在 C 中逐行处理这些数据 我能够获取第一行 但如何获取文件的下一行 ifstream myfile myfile
  • 无法将 PySide 与 Anaconda 一起使用

    我刚刚安装了 Anaconda for Python 3 然后安装了 PySide sudo apt get install python3 pyside 然后我尝试使用它抛出 Anaconda 的 python 版本并输入import P
  • 如何将 int[] 转换为 byte[]

    我有一个代表 RGB 图像的整数数组 希望将其转换为字节数组并将其保存到文件中 在 Java 中将整数数组转换为字节数组的最佳方法是什么 As Brian说 你需要弄清楚你需要什么样的转换 您想将其保存为 普通 图像文件 jpg png 等
  • OpenCV:了解内核

    我的书谈到了 OpenCV 中的图像内核概念 当计算在像素邻域上完成时 通常 用核矩阵表示它 该内核描述了如何 将参与计算的像素组合起来以获得 期望的结果 在图像模糊技术中 我们使用内核大小 cv GaussianBlur inputIma
  • C++ 中高效的线程安全单例

    单例类的通常模式是这样的 static Foo getInst static Foo inst NULL if inst NULL inst new Foo return inst 但是 据我了解 此解决方案不是线程安全的 因为 1 Foo
  • 在自托管 WebApi 中获取 HttpRequest 上下文

    如何从自托管 MVC WebAPI 访问查询字符串 对以下内容的调用因 NRE 失败 因为 Current 为空 又名 null System Web HttpContext Current Request myQuery 我需要访问控制器
  • 使用 boost::asio 的 AF_NETLINK (netlink) 套接字

    我正在编写基于的多播客户端 服务器应用程序this and this 效果很好 但是 当计算机中的活动网络接口数量发生变化时 我还需要执行一些操作 例如示例部分中的程序这一页 does 我想我应该使用 boost asio local 中的
  • 在 Windows 服务中运行 cdb 时无法下载 microsoft 符号

    我有一个 NET窗口服务那是在呼唤cdb exe分析故障转储 我想从以下位置下载符号http msdl microsoft com需要时自动使用参数 y srv c symbols http msdl microsoft com downl
  • Python 文件到 MSI Windows 安装程序

    因此 我可以使用 PyInstaller 制作一个单文件可执行文件 并在文件夹中的其他文件中制作标准可执行文件 但是如何将 Python 文件转换为 MSI 安装程序 以便万无一失地在桌面上创建快捷方式呢 用于分发 以便用户不需要安装Pyt
  • Excel进程未关闭[重复]

    这个问题在这里已经有答案了 我有这个 C 程序 它永远不会关闭 Excel 进程 基本上 它会查找某个字符串在 Excel 中某个范围内出现的实例数 我尝试了各种方法 但没有效果 有一个表单正在调用此方法 但这不会改变进程未关闭的原因 我看
  • JQuery / JS:检测用户的滚动尝试,没有任何窗口溢出滚动到

    我正在开发一个过渡网站 虽然我想使用用户的滚动尝试作为过渡启动器 但我不希望有窗口滚动条 现在 我只是用 jquery 检测用户滚动 我已经将窗口大小设置为比用户屏幕的滚动条高 1px 尽管这是我试图避免的 scroll function
  • [Android]NumberPicker 选中项改变颜色

    是否可以更改 numberpicker 中所选项目的颜色 以便每次出现新的中心子 TextView 时将其颜色更改为我喜欢的颜色 但我没有找到任何与此相关的样式或 API 公开 I tried to follow many answers
  • 更改 Chrome 4xx 页面

    我正在部署一个信息亭系统 该系统使用 Chrome 来显示在 jetty 中运行的 java web 应用程序 该应用程序以 Windows 服务包装器启动 系统启动后需要一些时间才能让 jetty 准备好提供内容 因此现在我需要等待 然后