提问人:Estus Flask 提问时间:6/1/2022 最后编辑:Estus Flask 更新时间:6/7/2022 访问量:9544
Opera 控制台中的红色警告消息
Red warning message in Opera console
问:
出现红色消息,大概是在浏览器自动更新之后:
警告!
此区域仅供开发人员使用。众所周知,诈骗者鼓励人们在这里复制/粘贴信息以破解帐户。如果您不确定,请不要继续。
浏览器是 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,更新日志目前仅在缓存中可用。这是一个已知问题,公司可能需要一些时间和用户活动才能意识到后果。尽管如此,快速解决该问题将不胜感激。
答:
降级浏览器是目前唯一的方法。(编辑:这不是唯一的方法,请阅读 @Sesame Tastelikecheese 的答案)您可以等待更新,但谁知道他们是否会解决这个问题。因此,如果您可以禁用自动更新,请按以下方式降级浏览器:
- 从此处下载 Opera(Windows 安装程序)或在此处选择其他版本(之前的任何版本)
86.0.4363.59
87.x.xxxx.xx
) - 转到 Opera 安装目录并删除该文件夹。
87.x.xxxx.xx
- 运行安装程序,将安装路径设置为当前 Opera 目录。单击“接受并升级”。
- 同样,从您的 Opera 安装目录中,打开该文件夹(或您刚刚安装的任何版本)。将可执行文件重命名为所需的任何内容。
86.0.4363.59
opera_autoupdate
- 打开任务计划程序(“控制面板”->“系统和安全”->“管理工具”->“计划任务/任务计划程序”)。禁用和任务。
Opera scheduled Autoupdate
Opera scheduled assistant Autoupdate
警告:如果您没有足够快地执行后续步骤,Opera 可能会在步骤 2 或步骤 3 之后自动更新,因此可能需要几次尝试。或者,您可以在安装旧版本后立即禁用互联网连接。
评论
执行以下步骤,它们非常简单,您可以删除红色控制台警告。
这个答案将允许 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
打开一个新标签页,然后转到:“opera://extensions”
应启用“开发人员模式”(top_right_corner)
点击“加载解压”按钮(top_left_corner附近)
应该会出现一个文件选择器,找到“kill_opera_console_warning”文件夹
进入文件夹,点击“选择文件夹”
应加载扩展。
浏览您的扩展程序并找到“AAA:杀死 Opera 控制台警告”
勾选“允许隐身”复选框
勾选“允许访问搜索页面结果”复选框
最后,我们在 DEVTOOLS 中更改一个设置,重新启动 OPERA,然后对其进行测试
此时,如果刷新 DevTools,则创建的扩展似乎正在工作,并且问题已解决。此扩展使用两种方法,一种是黑客攻击,另一种是更强大的。黑客总有一天会停止工作。鲁棒方法需要更改设置。
关闭已打开的所有 DevTools 实例。
打开一个新的普通窗口(不是隐身窗口)。
转到“about:blank”
打开 DevTools (Ctrl+Shift+I)
按 F1 打开正确的设置
现在应该有大量的带有复选框的设置
点击“实验”选项卡(top_left_corner附近有“设置”字样)
勾选“允许扩展加载自定义样式表”复选框,使其处于启用状态。可能是列表开头的第一个复选框。(如果不是第一个复选框,请使用旁边带有“过滤器”字样的搜索框。输入“stylesheets”。
关闭设置并关闭 DevTools。退出 Opera,使所有窗口都关闭。
等待 5 秒钟,然后重新启动 Opera。
打开一个新窗口
转到“about:blank”
打开 DevTools (Ctrl+Shift+I)
转到“控制台”选项卡。
您可能会短暂地看到红色警告半秒钟,但它应该会消失。如果你没有看到它,恭喜你!
如果您仍然看到警告或它又回来了,那么“允许扩展加载自定义样式表”可能已经禁用了。
返回到这些说明的步骤 6,并确保该复选框已启用。如果它本身已禁用,则需要再次启用它并再次完成步骤 6-19 中的所有说明。可能需要几次尝试(浏览器重新启动)才能使其保持状态。
仍然不工作
如果复选框在浏览器重置后保持“启用”状态,但您仍然看到红色警告,那么可以重新开始(删除扩展名,删除文件),然后从头开始重复所有步骤,以防您出错。
如果您确定您已经完全按照说明进行了操作,那么您可能需要稍微玩一下它们,但只要扩展安装正确并且您设法获得“允许扩展加载自定义样式表”以保持启用状态,它们肯定会起作用。
如果您是 STACKOVERFLOW 编辑器,请仅在此处阅读。
如果在将来的某个时候,这种情况中断了,Opera 可能已经更改了红色控制台警告元素上的 CSS 类。在这种情况下,有人应该编辑这个答案,只需要更改包含“devtools_custom_css”的两行。此答案中的其他所有内容仍然有效。
编辑:为简洁起见已删除,如果您真的想了解创建扩展所涉及的每个部分解决方案背后的奇怪原因,请浏览编辑历史记录以查看注释文件。
评论
根据@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 添加扩展
转到扩展页面: Ctrl+Shift+E
- 启用“开发者模式”(右上角)
安装扩展:
单击按钮(左上角)Load unpacked
找到您的“kill_opera_console_warning”文件夹
进入文件夹,单击Select Folder
您创建的扩展应加载。
更新扩展设置:
查找扩展:“AAA:杀死 Opera 控制台警告”
勾选“允许隐身”复选框
勾选“允许访问搜索页面结果”复选框
现在在 DEVTOOLS 中更改一个设置,重新启动 OPERA 并测试扩展
扩展现在将起作用,但要涵盖边缘情况,您需要更新设置。
关闭 DevTools 的所有实例。
打开一个新的普通窗口(不是隐身窗口)
- 转到“about:blank”,打开 DevToolsCtrl+Shift+I
打开 DevTools 设置 F1
- 应该有很多带有复选框的设置
- 转到“实验”选项卡(左上角)
将“允许扩展加载自定义样式表”设置为“已启用”。
- 可能是列表开头的第一个复选框。
- 否则,请使用过滤器搜索“样式表”。
关闭所有内容并重新启动:
- 关闭 DevTools 设置,关闭 DevTools。
- 退出 Opera,等待 5 秒钟,然后重新启动 Opera。
- 重复步骤 2-3 以检查设置是否仍处于启用状态。
测试扩展正在工作:
- 在随机网页上,右键单击“检查元素”
- 切换到控制台面板以测试扩展工作。
在接下来的几个月里,问题得到了解决。
如果扩展停止工作,请回到这个问题。
Opera 可能已经更新了警告消息上的类。编辑希望在此答案中更新扩展。如果发生这种情况,请完全删除扩展。然后再次按照说明进行操作。
评论
= '.console-view > div[class^="console-warning-"]'
评论