Opera 控制台中的红色警告消息

Red warning message in Opera console

提问人:Estus Flask 提问时间:6/1/2022 最后编辑:Estus Flask 更新时间:6/7/2022 访问量:9544

问:

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

devtools console red message

警告!

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

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

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

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

我在 devtools 首选项中没有看到任何可以关闭它的设置。有没有办法在不降级浏览器的情况下在本地禁用此消息?

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

控制台 Google-Chrome-Devtools Chromium Opera

评论

0赞 wOxxOm 6/2/2022
也许是 chrome://flags 的东西。另外,试着在歌剧论坛上询问他们是否有。
0赞 jaikme 6/2/2022
这太烦人了。找不到任何如何关闭的东西。我的屏幕已经没有空间了。
0赞 Jayen 6/2/2022
我今天也注意到了这一点。也许是 Opera 87 的新功能?
5赞 SolaceBeforeDawn 6/3/2022
每次付款时都会收到什么警告?真是太安宁了。开发人员需要启用一个开关来关闭它 - 在浏览器启动时一键显示一次,但我真的不欣赏这个保姆
0赞 brasofilo 6/24/2022
@SolaceBeforeDawn,了解通过网络控制台完成的诈骗数量会很有趣。网络用户是否正在发生 javascript 大流行?,我从未听说过......听起来很刺激!

答:

2赞 Denis Santuryan 6/2/2022 #1

降级浏览器是目前唯一的方法。(编辑:这不是唯一的方法,请阅读 @Sesame Tastelikecheese 的答案)您可以等待更新,但谁知道他们是否会解决这个问题。因此,如果您可以禁用自动更新,请按以下方式降级浏览器:

  1. 此处下载 Opera(Windows 安装程序)或在此处选择其他版本(之前的任何版本)86.0.4363.5987.x.xxxx.xx)
  2. 转到 Opera 安装目录并删除该文件夹。87.x.xxxx.xx
  3. 运行安装程序,将安装路径设置为当前 Opera 目录。单击“接受并升级”。
  4. 同样,从您的 Opera 安装目录中,打开该文件夹(或您刚刚安装的任何版本)。将可执行文件重命名为所需的任何内容。86.0.4363.59opera_autoupdate
  5. 打开任务计划程序(“控制面板”->“系统和安全”->“管理工具”->“计划任务/任务计划程序”)。禁用和任务。Opera scheduled AutoupdateOpera scheduled assistant Autoupdate

警告:如果您没有足够快地执行后续步骤,Opera 可能会在步骤 2 或步骤 3 之后自动更新,因此可能需要几次尝试。或者,您可以在安装旧版本后立即禁用互联网连接。

评论

0赞 Marina Dunst 1/16/2023
“如果您没有足够快地执行后续步骤,Opera 可能会在步骤 2 或步骤 3 之后自动更新” 或者只是禁用您的 Internet 连接
0赞 Denis Santuryan 1/21/2023
@MarinaDunst哈哈,我已经在下一句话中提出了建议
20赞 Sesame Tastelikecheese 6/3/2022 #2

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

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

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

另外,在另一个浏览器中打开这个问题,例如Firefox,Edge或Chrome。

https://stackoverflow.com/questions/72462196/red-warning-message-in-opera-console/72485455

创建一个名为:kill_opera_console_warning

  • 任何地方都可以(最好使用管理员权限安装 Opera 的同一驱动器)

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

manifest.json

{
  "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"
}

devtools_page.html

<html>
<head></head>
<body><script src="devtools_page_helper.js"></script></body>
</html>

devtools_page_helper.js

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

chrome.devtools.panels.applyStyleSheet( devtools_custom_css_G ) ;

inject_into_devtools.js

if  (   /^(?:chrome-|opera-)?devtools:$/gi.test( window.location.protocol ) === true   )
    {
    var red_console_warning__kill_GO = function red_console_warning__kill_TO( run_count_F = 0 )
        {
        if  (   run_count_F > 20   )   {   return ;   }
        
        var devtools_custom_css_selector_T = ".console-view > div[class^='console-warning-' i]" ;
            
        var garbage_TA = document.querySelectorAll( devtools_custom_css_selector_T ) ;
        
        for (   let one_piece_of_garbage_TH  of  garbage_TA   )
            {
            one_piece_of_garbage_TH.style.setProperty( "display" , "none" , "important" ) ;
            }
            
        if  (   garbage_TA.length > 0   )   {   return ;   }
            
        setTimeout( red_console_warning__kill_TO.bind( null , run_count_F+1 ) , 500 ) ;
        } ;

    red_console_warning__kill_GO( 0 ) ;
    }

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

- kill_opera_console_warning
--- manifest.json
--- devtools_page.html
--- devtools_page_helper.js
--- inject_into_devtools.js

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

  1. 打开一个新标签页,然后转到:“opera://extensions”

  2. 应启用“开发人员模式”(top_right_corner)

  3. 点击“加载解压”按钮(top_left_corner附近)

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

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

  6. 应加载扩展。

  7. 浏览您的扩展程序并找到“AAA:杀死 Opera 控制台警告”

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

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


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

此时,如果刷新 DevTools,则创建的扩展似乎正在工作,并且问题已解决。此扩展使用两种方法,一种是黑客攻击,另一种是更强大的。黑客总有一天会停止工作。鲁棒方法需要更改设置。

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

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

  3. 转到“about:blank”

  4. 打开 DevTools (Ctrl+Shift+I)

  5. 按 F1 打开正确的设置

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

  7. 点击“实验”选项卡(top_left_corner附近有“设置”字样)

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

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

  10. 等待 5 秒钟,然后重新启动 Opera。

  11. 打开一个新窗口

  12. 转到“about:blank”

  13. 打开 DevTools (Ctrl+Shift+I)

  14. 转到“控制台”选项卡。

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

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

  17. 返回到这些说明的步骤 6,并确保该复选框已启用。如果它本身已禁用,则需要再次启用它并再次完成步骤 6-19 中的所有说明。可能需要几次尝试(浏览器重新启动)才能使其保持状态。


仍然不工作

如果复选框在浏览器重置后保持“启用”状态,但您仍然看到红色警告,那么可以重新开始(删除扩展名,删除文件),然后从头开始重复所有步骤,以防您出错。

如果您确定您已经完全按照说明进行了操作,那么您可能需要稍微玩一下它们,但只要扩展安装正确并且您设法获得“允许扩展加载自定义样式表”以保持启用状态,它们肯定会起作用。


如果您是 STACKOVERFLOW 编辑器,请仅在此处阅读。

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

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

评论

0赞 Estus Flask 6/3/2022
非常感谢您的分享。我不确定我们是否可以通过扩展访问警告,我很高兴我们做到了。扩展按原样工作,无需其他措施。
0赞 Sesame Tastelikecheese 6/3/2022
对不起,答案太罗嗦了......许多编码人员在编写扩展方面比我更有经验,但其他一些编码人员可能擅长 JavaScript,但没有编写扩展或添加自己的扩展的经验,因此我提供了尽可能多的说明。该扩展程序可能单独工作,但对于那里的任何人,请确保将“允许扩展加载自定义样式表”设置为启用,因为这将为您提供两种不同的攻击方法,以防其中一种失败。
0赞 Estus Flask 6/3/2022
我猜TL;需要 DR 部分。像这样: - 在另一个浏览器中打开这篇文章,以便随时使用。 - 将具有相应内容的 a__instructions__.txt、devtools_page.html、devtools_page_helper.js、inject_into_devtools.js manifest.json 文件添加到kill_opera_console_warning文件夹中,该文件夹将永久保留。 - 打开扩展页面,启用“开发者模式”,在“加载解压缩”中选择文件夹。 - 在已安装的扩展程序中启用“允许隐身”和“允许访问搜索页面”。 - 启用“允许”用于加载自定义样式表的扩展“,在 devtools>settings>experiments 中
1赞 Estus Flask 6/3/2022
我可以确认目前它也没有“允许扩展加载自定义样式表”选项。无需重新加载浏览器,只需重新打开devtools
45赞 Jeremy Wilton 6/7/2022 #3

根据@SesameTastelikecheese的回答。本指南要简单得多。
修复 bug:扩展仅在先打开控制台面板时才有效。现在总是有效。


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

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

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


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

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

manifest.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"
}

devtools_page.html

<html>
<head></head>
<body><script src="devtools_page_helper.js"></script></body>
</html>

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 ) ;

inject_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 ) ;
    }

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

+ kill_opera_console_warning
|-- manifest.json
|-- devtools_page.html
|-- devtools_page_helper.js
|-- inject_into_devtools.js

向 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. 打开 DevTools 设置 F1

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

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

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

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


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

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

评论

1赞 Paul Naveda 6/8/2022
马上就工作了。我只是在没有更改设置的情况下重新启动了 opera。谢谢!
2赞 jakob_a 9/1/2022
乌普杜特。工作完美。现在,我受到启发,要编写更多的浏览器扩展。
1赞 Vladimirov Alexey 9/23/2022
谢谢!保存到 GH: github.com/newvladimirov/opera-red-warning
0赞 Youssef 12/31/2022
从 Opera 版本 94.0.4606.38(Chromium 版本 108.0.5359.125)开始,我需要删除devtools_custom_css中的最后一个“i”,以便在 devtools_page_helper.js 和 inject_into_devtools.js 文件中= '.console-view > div[class^="console-warning-"]'
0赞 Peter Kelley 3/24/2023
工作得很好 - 很容易做到。并激起了我对编写浏览器扩展的兴趣!谢谢你的几个方面!