Opera 控制台中出现红色警告消息

Est*_*ask 53 console opera google-chrome chromium google-chrome-devtools

出现红色消息,大概是在浏览器自动更新之后:

devtools控制台红色消息

警告!

该区域仅供开发人员使用。众所周知,骗子会鼓励人们在此处复制/粘贴信息来破解帐户。如果您不确定,请不要继续。

浏览器是 Opera 87.0.4390.36。似乎它不适用于 Chrome/Chromium,但这需要确认。相关的用户代理部分是:

AppleWebKit/537.36(KHTML,如 Gecko) Chrome/101.0.4951.67 Safari/537.36 OPR/87.0.4390.36

在较小的屏幕上,它会占用控制台选项卡的空间,变得不那么可用。

我在开发工具首选项中没有看到可以将其关闭的设置。有没有办法可以在本地禁用此消息而不降级浏览器?

UPD:它到达了Opera 87变更日志目前仅在缓存中可用。这是一个已知问题,公司可能需要一些时间和用户活动才能意识到后果。尽管如此,如果能够快速解决该问题,我们将不胜感激。

小智 45

基于@SesameTastelikecheese 的回答。本指南要简单得多。
修复错误:扩展仅在首先打开控制台面板时才起作用。现在总是有效。


创建一个扩展来终止 OPERA 控制台警告

这将使 Opera 能够继续更新(有利于安全),并允许您使用未来几个月发布的最新编程语言功能。

将此问题添加为书签以供将来更新。


在硬盘上的任意位置创建一个文件夹: kill_opera_console_warning

直接在文件夹内创建以下文件。

清单.json

{
  "manifest_version"    :  3

, "name"                :  "AAA: Kill Opera Console Warning"
, "version"             :  "1.1"

, "devtools_page"       :  "devtools_page.html"

, "content_scripts"     :
    [
        {
          "js"          :  [ "inject_into_devtools.js" ]
        , "matches"     :  [ "<all_urls>" ]
        , "run_at"      :   "document_start"
        }
    ]

// Same key as kgejglhpjiefppelpmljglcjbhoiplfn (ChromeVox)
// see : https://stackoverflow.com/questions/17042547/how-to-inject-javascript-into-chrome-devtools-itself/17044405#17044405
, "key"                 :   "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEGBi/oD7Yl/Y16w3+gee/95/EUpRZ2U6c+8orV5ei+3CRsBsoXI/DPGBauZ3rWQ47aQnfoG00sXigFdJA2NhNK9OgmRA2evnsRRbjYm2BG1twpaLsgQPPus3PyczbDCvhFu8k24wzFyEtxLrfxAGBseBPb9QrCz7B4k2QgxD/CwIDAQAB"
}
Run Code Online (Sandbox Code Playgroud)

devtools_page.html

<html>
<head></head>
<body><script src="devtools_page_helper.js"></script></body>
</html>
Run Code Online (Sandbox Code Playgroud)

devtools_page_helper.js

function apply_style_sheet_for_current_panel_only( )
    {
    const devtools_custom_css = `.console-view > div[class^="console-warning-" i] { display : none !important ; }` ;

    chrome.devtools.panels.applyStyleSheet( devtools_custom_css ) ;
    }

// run for whatever panel opens by default
apply_style_sheet_for_current_panel_only( ) ;

// fallback if Console panel was not opened by default (most likely due to Elements panel opening first)
chrome.devtools.panels.elements.onSelectionChanged.addListener( apply_style_sheet_for_current_panel_only ) ;
Run Code Online (Sandbox Code Playgroud)

注入_into_devtools.js

// necessary for DevTools in private windows
if  (  /^(?:chrome-|opera-)?devtools:$/gi.test( window.location.protocol ) === true  )
    {
    const devtools_custom_css = `.console-view > div[class^="console-warning-" i] { display : none !important ; }` ;

    const add_css_rules = ( css_rules ) => { ( document.head || document.documentElement ).appendChild( document.createElement("style") ).innerHTML = css_rules ; } ;

    // applies to all panels
    add_css_rules( devtools_custom_css ) ;
    }
Run Code Online (Sandbox Code Playgroud)

您现在应该具有以下文件结构:

+ kill_opera_console_warning
|-- manifest.json
|-- devtools_page.html
|-- devtools_page_helper.js
|-- inject_into_devtools.js
Run Code Online (Sandbox Code Playgroud)

为 Opera 添加扩展

  1. 进入扩展页面: Ctrl+Shift+E

    • 启用“开发者模式” (右上角)
  2. 安装扩展:

    • 点击Load unpacked按钮(左上角)

    • 找到“kill_opera_console_warning”文件夹

    • 进入文件夹,点击Select Folder

    • 您创建的扩展应该加载。

  3. 更新扩展设置:

    • 查找扩展名:“AAA:杀死 Opera 控制台警告”

    • 勾选“允许隐身”复选框

    • 勾选“允许访问搜索页面结果”复选框


现在更改 DEVTOOLS 中的一项设置,重新启动 OPERA 并测试扩展

扩展现在可以运行,但为了覆盖边缘情况,您需要更新设置。

  1. 关闭 DevTools 的所有实例。

  2. 打开一个新的普通窗口 (不是隐身窗口)

    • 转到“about:blank”,打开 DevToolsCtrl+Shift+I
  3. 打开开发工具设置 F1

    • 应该有很多带有复选框的设置
    • 转到“实验”选项卡(左上角)
  4. 允许扩展加载自定义样式表设置为启用

    • 可能是列表开头的第一个复选框。
    • 否则使用过滤器搜索“样式表”。
  5. 关闭所有内容并重新启动:

    • 关闭 DevTools 设置,关闭 DevTools。
    • 退出 Opera,等待 5 秒钟并重新启动 Opera。
    • 重复步骤 2-3 以检查设置是否仍然启用。
  6. 测试扩展正在运行:

    • 在随机网页上,右键单击“检查元素”
    • 切换到控制台面板来测试扩展的工作情况。
  7. 问题在接下来的几个月内得到解决。


如果扩展停止工作,请回到这个问题。

Opera 可能已更新警告消息中的类。希望编辑能够更新这个答案中的扩展。如果发生这种情况,请完全删除扩展程序。然后再次按照说明进行操作。

  • 乌杜特。效果很好。现在我受到启发去编写更多的浏览器扩展。 (2认同)

Ses*_*ese 21

执行以下步骤,它们非常简单,您可以删除红色控制台警告。

这个答案将允许 Opera 继续更新(有利于安全)。

将此问题添加为书签,因为您可能需要多次重新启动浏览器。

另外,请在其他浏览器(例如 Firefox、Edge 或 Chrome)中打开此问题

/sf/ask/5072353751/
Run Code Online (Sandbox Code Playgroud)

创建一个名为: kill_opera_console_warning 的文件夹

  • 任何地方都可以(最好与安装 Opera 的驱动器具有管理员权限)

直接在文件夹内创建以下文件。

清单.json

https://stackoverflow.com/questions/72462196/red-warning-message-in-opera-console/72485455
Run Code Online (Sandbox Code Playgroud)

devtools_page.html

{
  "manifest_version"    :  3

, "name"                :  "AAA: Kill Opera Console Warning"
, "description"         :  "..."
, "version"             :  "1.0"

, "devtools_page"       :  "devtools_page.html"

// no permissions required
, "permissions"         :  [ ]

, "content_scripts"     :
    [
        {
          "js"          :  [ "inject_into_devtools.js" ]
        , "matches"     :  [ "<all_urls>" ]
        }
    ]

// Same key as kgejglhpjiefppelpmljglcjbhoiplfn (ChromeVox)
// see : https://stackoverflow.com/questions/17042547/how-to-inject-javascript-into-chrome-devtools-itself/17044405#17044405
, "key"                 :   "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEGBi/oD7Yl/Y16w3+gee/95/EUpRZ2U6c+8orV5ei+3CRsBsoXI/DPGBauZ3rWQ47aQnfoG00sXigFdJA2NhNK9OgmRA2evnsRRbjYm2BG1twpaLsgQPPus3PyczbDCvhFu8k24wzFyEtxLrfxAGBseBPb9QrCz7B4k2QgxD/CwIDAQAB"
}
Run Code Online (Sandbox Code Playgroud)

devtools_page_helper.js

<html>
<head></head>
<body><script src="devtools_page_helper.js"></script></body>
</html>
Run Code Online (Sandbox Code Playgroud)

注入_into_devtools.js

const devtools_custom_css_G = `.console-view > div[class^="console-warning-" i] { display : none ; }` ;

chrome.devtools.panels.applyStyleSheet( devtools_custom_css_G ) ;
Run Code Online (Sandbox Code Playgroud)

您现在应该具有以下文件结构:

- kill_opera_console_warning
--- manifest.json
--- devtools_page.html
--- devtools_page_helper.js
--- inject_into_devtools.js
Run Code Online (Sandbox Code Playgroud)

现在将您刚刚创建的扩展添加到 OPERA

  1. 打开一个新选项卡并转到:“opera://extensions”

  2. 应启用“开发者模式”(右上角)

  3. 单击“加载已解压的”按钮(靠近左上角)

  4. 应该会出现一个文件选择器,找到“kill_opera_console_warning”文件夹

  5. 进入文件夹,单击“选择文件夹”

  6. 您的扩展应该加载。

  7. 浏览你的扩展并找到“AAA:杀死 Opera Console 警告”

  8. 勾选“允许隐身”复选框

  9. 勾选“允许访问搜索页面结果”复选框


最后我们在 DEVTOOLS 中更改一项设置,重新启动 OPERA,然后进行测试

此时,如果您刷新 DevTools,则会显示您创建的扩展正在运行,并且问题已解决。这个扩展使用两种方法,一种是 hack,另一种是更健壮的。黑客有一天会停止工作。稳健的方法需要更改设置。

  1. 关闭所有已打开的 DevTools 实例。

  2. 打开一个新的普通窗口(不是隐身窗口)。

  3. 转到“关于:空白”

  4. 打开开发工具(Ctrl+Shift+I)

  5. 按 F1 打开 PROPER 设置

  6. 现在应该有大量带有复选框的设置

  7. 单击“实验”选项卡(top_left_corner 附近带有“设置”一词)

  8. 勾选“允许扩展加载自定义样式表”复选框,使其处于启用状态。可能是列表开头的第一个复选框。(如果它不是第一个复选框,则使用旁边带有“Filter”一词的搜索框。输入“stylesheets”。)

  9. 关闭设置并关闭 DevTools。退出 Opera,关闭所有窗口。

  10. 等待 5 秒钟并重新启动 Opera。

  11. 打开一个新窗口

  12. 转到“关于:空白”

  13. 打开开发工具(Ctrl+Shift+I)

  14. 转到控制台选项卡。

  15. 您可能会短暂看到红色警告半秒钟,但它应该会消失。如果您没有看到它,那么恭喜您!

  16. 如果您仍然看到警告或它返回,那么“允许扩展加载自定义样式表”可能已自行禁用。

  17. 返回到这些说明的步骤 6,并确保启用该复选框。如果它已自行禁用,则您需要再次启用它并再次执行步骤 6-19 中的所有说明。可能需要几次尝试(浏览器重新启动)才能坚持下去。


还是行不通

如果浏览器重置后该复选框保持启用状态,但您仍然看到红色警告,则可能需要重新开始(删除扩展程序、删除文件),然后从头开始重复所有步骤,以防出现错误。

如果您确定已完全按照说明进行操作,那么您可能需要稍微尝试一下它们,但只要正确安装了扩展程序并且您设法保留“允许扩展程序加载自定义样式表”,它们就肯定可以工作已启用。


仅当您是 StackOverflow 编辑者时才阅读此处。

如果将来某个时候出现这种情况,Opera 可能会更改红色控制台警告元素上的 CSS 类。在这种情况下,有人应该编辑这个答案,只需要更改包含“devtools_custom_css”的两行。这个答案中的其他所有内容仍然有效。

编辑:为了简洁而删除,如果您确实想了解创建扩展所涉及的每个部分解决方案背后的奇怪原因,请查看编辑历史记录以查看注释文件。