gpt4 book ai didi

javascript - 如何访问和呈现 Safari 扩展中打开的选项卡的可见内容?

转载 作者:行者123 更新时间:2023-11-29 19:40:14 27 4
gpt4 key购买 nike

在开发我的 Safari 扩展程序时,我想访问在事件浏览器窗口中打开的选项卡的截屏。截至SafariBrowserTab Class Reference应该可以访问 visible content .我如何使用它在我的 Safari 扩展程序的内容页面上显示图像标签内的可见内容?

目前我能够显示所有打开的标签及其 url 和标题。但是获取可见内容是不可能的。

如果有人能帮我解决我的问题就太好了。

最佳答案

在您的全局页面中,使用带有回调函数的visibleContentsAsDataURL 来获取屏幕截图的图像数据。然后以类似于发送标题和 URL 的方式将其发送到您的内容页面。

例如:

全局.js

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

// Perform e.g. when toolbar button is clicked
function performCommand(event) {
if (event.command === 'captureTab') {
safari.application.activeBrowserWindow.activeTab.visibleContentsAsDataURL(function(imgdata){
//console.log(imgdata);
safari.application.activeBrowserWindow.activeTab.page.dispatchMessage('imgData', imgdata);
});
}
}

注入(inject).js

safari.self.addEventListener('message', handleMessage, false);

// Receive a message from the global page
function handleMessage(msg) {
if (msg.name === 'imgData') {
var img = document.createElement("img");
img.src = msg.message;
document.body.appendChild(img);
}
}

关于javascript - 如何访问和呈现 Safari 扩展中打开的选项卡的可见内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23488412/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com