如何提供不需要任何用户操作即可继续的用户反馈?

How to provide user feedback that does not require any user action to continue?

我正在尝试实现一个 JavaScript 小书签,它将转换应用于地址栏中的 URL。

小书签处理三种可能的情况,具体取决于地址栏中的原始 URL,以及对其的转换效果:

  1. 原来的URL形式正确,新的URL与它不同;
  2. 原来的URL形式正确,新的URL完全相同1;
  3. 原文URL格式有误

如果 (1) 发生,小书签只会加载新的 URL;完成。

如果 (3) 发生,小书签会弹出一个警告对话框,提示“不匹配”或“不适用 URL”等内容

如果 (2) 发生,我希望小书签通知用户无需执行任何操作,但我希望它以用户不需要执行任何响应的方式执行此操作(比如点击确定)。

如果小书签可以设置状态栏(在浏览器的左下角),我就已经准备好了(至少对于桌面浏览器),但我的理解是情况并非如此。

另一方面,通过警告对话框提供反馈正是我试图避免的,因为它需要用户单击对话框的 OK 按钮才能按顺序继续。

问:小书签是否可以通过其他方式提供所需的反馈?

(由于这是一个小书签,我正在寻找非常轻量级的解决方案。如果重要的话,我主要对可与桌面 Firefox 一起使用的解决方案感兴趣。)


1 小书签对原始 URL 的变换是幂等的,所以只要小书签作用于URL 是较早申请的结果。

小书签可以操作 DOM 并向其中添加任何元素。

这是左下角反馈元素的简单示例:

javascript: (() => {
  function showFeedback(text) {
    const feedback = document.createElement('div');
    feedback.textContent = text;
    feedback.style = `
      background: black;
      color: white;
      font-size: 20px;
      padding: 1em;
      position: fixed;
      bottom: 0;
      z-index: 2147483647;
    `;

    document.body.append(feedback);

    setTimeout(() => {
      feedback.remove();
    }, 3000);
  };
  
  showFeedback('Feedback text...');
})();