Safari 扩展截屏

2024-01-11

我正在开发 Safari 浏览器扩展,它应该具有截图功能。

Chrome 和 Firefox 有自己的 api 来获取当前窗口文档的 SS。 我找不到任何特定于 Safari 的/API 文档。窗口和选项卡 API https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html#//apple_ref/doc/uid/TP40009977-CH17-SW1

实现这一目标的最佳方法是什么?


SafariBrowserTab has a visibleContentsAsDataURL https://developer.apple.com/library/safari/documentation/UserExperience/Reference/SBrowserTabClassReference/index.html#//apple_ref/javascript/instm/SafariBrowserTab/visibleContentsAsDataURL方法获取当前可见内容的图像数据。

例如,在您的全局页面中:

safari.application.addEventListener('command', performCommand, false);

// Perform e.g. when toolbar button is clicked
function performCommand(event) {
    if (event.command === 'captureTab') {
        var tab = safari.application.activeBrowserWindow.activeTab;
        tab.visibleContentsAsDataURL(function(imgdata) {
            //console.log(imgdata);
            // Do something...
            // e.g. Send to an injected script to display image on page:
            tab.page.dispatchMessage('imgData', imgdata);
        });
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Safari 扩展截屏 的相关文章

  • Swift 3:如何去除UITableView屏幕截图的灰色区域

    我在从桌面视图的屏幕截图中删除灰色区域时遇到了问题 这是我尝试截图时的输出UITableView 实际上我隐藏了一些tableViewCell这是不需要的 可能这就是区域显示灰色的原因 任何帮助表示赞赏 非常感谢 Answer 我通过使用
  • 是否可以仅针对 Chrome,而不是所有支持 Webkit 的浏览器?

    隐约相关这个问题 https stackoverflow com questions 2447511 can you target google chrome 但又不完全相同 我只想定位 Chrome 而不定位 Safari 我使用了以下媒
  • 在 Safari 中快速打开链接

    我目前正在我的应用程序中打开链接WebView 但我正在寻找一个打开链接的选项Safari反而 它不是 融入 Swift 但你可以使用标准UIKit方法来做到这一点 看看 UIApplication 的openUrl https devel
  • 如何在 Android 上以编程方式截取屏幕截图?

    如何不通过任何程序而是通过代码截取手机屏幕的选定区域的屏幕截图 以下代码允许将我的屏幕截图存储在 SD 卡上 并在以后满足您的任何需求 首先 您需要添加适当的权限来保存文件
  • cookie神秘重现的原因是什么?

    我正在开发一个使用 cookie 来存储会话信息的 Web 应用程序 我已经手动删除了会话 cookie 因为我正在处理代码的另一部分 我不需要登录会话 然而 在页面重新加载几次后 会话 cookie 神秘地重新出现 其中包括我之前出于测试
  • Safari 中透明颜色会发生什么情况?

    有一个块 其中接近末尾的文本逐渐消失 这是使用以下方法完成的 after 给定linear gradient从透明色到背景色 最近注意到 在当前版本的浏览器中 除了 safari 之外 一切都很好 在第 11 版中 情况太糟糕了 Autop
  • WKWebView 中的调整大小处理程序中的 window.innerWidth/Height 未更新

    我有一些全屏网页内容 当窗口使用调整大小事件更改大小时 我会更新这些内容 window onresize function var width window innerWidth var height window innerHeight
  • iOS 上 Safari 中的 shift 键

    有没有办法在javascript中判断手机键盘上是否按下了shift键 并将其与大写锁定 按两次shift键 区分开来 一些事实 首先 让我们看一下有关 iOS 键盘的一些事实 我假设您已经知道了 当您进入键盘模式时 shift键始终处于激
  • 仅在 Safari 中位于 div 外部的文本

    我有这个错误 让一些文本出现在右侧 div 之外的几个像素处 奇怪的是 这种情况只发生在 Safari 中 我以前从未见过它 它只是我使用过的常规 HTML CSS 我在互联网上环顾四周 但找不到完全相同的问题 由于高度固定 只有一些内容在
  • 在 Safari 中提交表单后无法对 DOM 进行样式更改

    在 Safari 中提交表单后 我在对 DOM 进行样式更改时遇到问题 有谁知道它是否可能 这是 Safari 预期的浏览器行为吗 我设置了一个非常简单的示例 以便您可以看到实际问题 http jamesmichaelking com st
  • Selenium Webdriver - 在屏幕截图中捕获 URL

    据我所知 屏幕截图功能基本上就像绘制 DOM 一样 由于 URL 不是 DOM 的一部分 因此屏幕截图不包含 URL 但是有什么解决方法可以捕获 URL 作为屏幕截图的一部分吗 目前 网络驱动程序无法实现这一点 您可以遵循以下任何一种方法
  • 如何检测浏览器中操作系统是否处于深色模式?

    如同 如何检测 OS X 是否处于深色模式 https stackoverflow com questions 25207077 how to detect if os x is in dark mode 仅适用于浏览器 有没有人发现是否有
  • 如何在Silverlight中捕获部分屏幕

    我想从应用程序内截取正在运行的 silverlight 3 应用程序的屏幕截图 然后我想将其作为缩略图呈现给用户 例如在图像控件中 我在做梦吗 对于一个简单的页面
  • Cookie 在 MAC -Safari 和 IOS 移动版 - Safari 中不起作用

    我正在创建一个模型 序列化并分配到 cookie 中并将其传递到下一页 我可以在所有浏览器的下一页中获取 cookie 值 除了 MAC 优胜美地 Safari IOS IPHONE 6 手机 Safari 我是否需要更新以下代码才能在 S
  • 使用 AppleScript 单击 safari 网页按钮

    我想弄清楚如何单击网页中的按钮 例如 点击谷歌网页中的 手气不错 按钮 这是我尝试过的 tell application Safari make new document with properties URL https www goog
  • 不明白为什么 Chrome/Safari 无法在此处获取 ScrollHeight

    我只是问了一个问题 为什么某些 js 代码不能 100 在 Chrome 和 Safari 中工作 但经过更多故障排除后 我想我发现这是我应该发布的问题 我有一个页面 其中有一个表单 该表单的目标是同一页面上的 iframe iframe
  • Javascript Safari 推送通知“允许”,但始终处于“拒绝”模式

    使用 PHP 成功验证我的包并通过端点将其传递到 Safari 后 v1 pushPackages web com mywebsite 出现了预期的弹出窗口 现在出现三个问题 按 允许 后不会触发任何内容 控制台为空 并且应在中打印 设备令
  • 在 Safari 上,通过重定向发送时不会保存 cookie

    我已经实现了一个 OAuth2 客户端 其中第一步是将用户发送到相关的第 3 方 本例中为 facebook 我为他们设置了一个状态 cookie 当他们从 facebook 返回时 我验证该状态 cookie 在 Chrome 中 一切都
  • .htaccess 仅在 safari 上导致重定向循环 - http 到 https

    这种情况只发生在野生动物园中 我不知道为什么 谷歌浏览器 火狐浏览器 一切正常 在任何苹果产品上 使用 Safari 我都会得到一个重定向循环 Code RewriteCond HTTP HOST example com NC Rewrit
  • 如何在上传图像文件时禁用捕获(在ipad上使用safari)

    我想在 ipad 上使用 safari 上传图像 这是我的 html 代码

随机推荐

  • C# - 如何将 10 个字节转换为 unsigned long

    我有 10 个字节 4 个字节的低位 4 个字节的高位 2 个字节的最高位 我需要将其转换为无符号长整型 我尝试了几种不同的方法 但都不起作用 Try 1 var id BitConverter ToUInt64 buffer 0 Try
  • 如何使用 ember-rails gem 为我的 HandlebarsJS 模板指定替代目录?

    我有一个 Rails 应用程序 并且在前端使用 Ember 我想将目录结构中与 ember 相关的文件下移一级 但当我这样做时 模板不再呈现 在应用程序的普通工作版本中 我的目录结构是 app assets javascripts appl
  • 当小部件在颤动中变得可见时,如何为其设置动画?

    我想向我的应用程序中的某些小部件添加一些动画 但这些小部件在用户向下滚动之前不可见 我希望这些动画在小部件变得可见时发生 通常我会在initState但这只会在第一次绘制小部件时才会产生动画 而不是在它对用户可见时才会产生动画 有这样的活动
  • 无法找到compileTestGroovy Gradle Build的循环依赖关系

    我收到了compileTestGroovy任务Gradle的stackOverflowError https docs gradle org current userguide groovy plugin html https docs g
  • C#中如何将整数转换为二进制字符串?

    我正在写一个数字转换器 如何在 C 中将整数转换为二进制字符串而不使用内置函数 Convert ToString根据给定的值做不同的事情 二进制 gt 符号幅度 二进制 gt 补码 二进制 gt 二进制补码 简单的解决方案 IntToBin
  • Application.Restart 不传回参数

    这是一个 ClickOnce 应用程序 根据文档 http msdn microsoft com query dev10 query appId Dev10IDEF1 l EN US k k 28SYSTEM WINDOWS FORMS A
  • PHP 命名空间不工作

    我第一次尝试使用 PHP 命名空间 甚至无法获得使用 2 个文件的非常基本的示例 这是我的目录设置 Framework Framework index php Framework Models TestModel php 这是两个文件背后的
  • 如何恢复 iOS Simulator 5.1 周围的 iPad 边框?

    通过 Xcode 4 3 1 Apple 发布了新的 iOS 5 1 模拟器 不幸的是 当您运行 iPad 硬件时 SIM 窗口周围不再有 iPad 框架 有谁知道如何恢复该框架 我经常使用模拟器通过屏幕共享向其他人演示功能 当它在 iPa
  • 问题:软锁定缓存条目已被底层 Ehcache 过期

    我收到警告 但我不知道该怎么办 每次被禁止的 IP 更新时 大约有 80000 个条目将此警告写入 tomcat 中的 catalina out 日志文件中 WARNING Cache package BannedIP Key packag
  • Shell 脚本调试帮助 - 遍历目录中的文件

    bin sh files ls myDir myDir2 myDir3 for file in files do echo file java myProg file another directory done 我想做的是迭代 myDir
  • Delphi 中的任何 Asn1 实现

    Delphi 中是否有任何不错的 asn1 实现或库 Try StreamSec ASN 1 工具 http www streamsec com products stasn1 asp 它们也出现在合作伙伴 DVD 中
  • 当值相等时,Angular 和 NGRX 防止选择器在状态更改时发出相同的值

    我正在寻找一种解决方案 使我的选择器仅在与上次发出的值相比发生变化时才发出新值 而不仅仅是对商店的引用发生变化 我的商店有以下状态 items loading false selectedItemId 1 我有以下选择器 export co
  • 填补D3数组嵌套的空白

    我有一个由日期和一些值组成的数组或对象 var flatData date 2012 05 26 product apple date 2012 07 03 product orange 我正在尝试使用 d3 nest 按年然后按月获取这些
  • appcompat_v7 和fragment_main.xml?

    我最近将 eclipse 和 ADT 插件从 v22 3 更新到 v22 6 并发现了一些重大变化 每当我创建一个新的 Android 应用程序项目时 都会出现一个新的 appcompat v7 库 该库在 v22 3 插件上不存在 并且还
  • jQuery / DataTables:如何更改分页颜色

    我正在使用 jQuery DataTables 插件 版本 1 9 4 并且想更改分页的颜色 使用 CSS 我可以更改它们的背景颜色 但我找不到更改锚标记的字体颜色和字体悬停颜色的方法 我想将以下所有锚标记的字体颜色和悬停字体颜色更改为白色
  • OpenAI:流中断(客户端断开连接)

    我正在尝试 OpenAI 我已经准备好了训练数据 并使用fine tunes create 几分钟后 显示Stream interrupted client disconnected openai api fine tunes create
  • 使用参数设置 Jenkins Pipeline 构建

    我阅读了大量有关 Jenkins 2 x 和管道系统的内容 以便创建具有以下功能的设置 SCM 管理 Jenkinsfile 构建对 git 存储库的每个提交 通过 webhook 触发器传递参数 到目前为止 由于各种原因 我未能建立一个工
  • 如何在asp.net MVC视图中有条件地设置模型?

    我是 ASP NET MVC 的初学者 我的页面有一个名为 Navigation 的部分视图 我正在重复使用它 如果用户位于 主页 a 导航的 href 需要指向 字符 如果用户位于 服务 页面 则导航的 href 需要指向其他 url 例
  • 如何VBA捕获请求超时错误?

    我正在使用对象MSXML2 ServerXMLHTTP60 http msdn microsoft com en us library ms762278 28v vs 85 29向网络服务发送请求 有了这个对象 我可以通过以下方式加快数据加
  • Safari 扩展截屏

    我正在开发 Safari 浏览器扩展 它应该具有截图功能 Chrome 和 Firefox 有自己的 api 来获取当前窗口文档的 SS 我找不到任何特定于 Safari 的 API 文档 窗口和选项卡 API https develope