Firefox Web Console提供了屏幕快照helper function:
:screenshot --selector '#element-id' --dpr 1
可能是一个愚蠢的问题,但是可以在我的网站上从JavaScript调用此函数吗?说,我有一些按钮,它叫做:
function downloadScreenshot()
{
if(navigator.userAgent.toLowerCase().indexOf('firefox') === -1)
{ alert("Firefox-only"); return; }
eval(":screenshot --selector '#element-id' --dpr 1");
}
如果我尝试运行此命令,我自然会得到SyntaxError: expected expression, got ':'
。
那么,有什么方法可以从JS调用Firefox Web Console API(或其他)并“告诉”它以执行屏幕截图命令?
Firefox开发人员版63.0b10(64位)。
我认为这是不可能的。原因之一是网站上的“恶意”脚本可能会每隔一毫秒拍摄一次屏幕截图,从而使您的光盘出现垃圾邮件。
答案 0 :(得分:1)
不能。这些助手功能是在与网页完全不同的上下文中执行的,具有完全不同的特权。这里是源代码:https://searchfox.org/mozilla-central/source/devtools/shared/screenshot/save.js
因此,从网页上,您无权访问它们。
具有类似功能的唯一方法是创建自己的附加组件,以获取屏幕截图。然后,您可以从您的网站上检查是否已安装该加载项,并向其发送获取屏幕截图的命令。