Chrome扩展程序 - 在新选项卡中打开捕获的屏幕截图
Chrome extension-Open the captured screen shot in new tab
chrome.tabs.query({
active: true,
currentWindow: true
},
function (tabs) {
chrome.tabs.captureVisibleTab(null
,{ format: "png"},
function (src) {
$('body').append("<img src='" + src + "'>" + tabs[0].url + "</img>");//appends captured image to the popup.html
}
);
});
此代码将捕获的图像附加到弹出窗口.html的正文中。但我想要的不是将图像附加到弹出正文,而是想使用 chrome.tabs.create({url:"newtab.html"( 打开新选项卡并将捕获的图像附加到此 newtab.html.("新选项卡.html"已经在路径文件夹中(。
提前致谢
我之前在这里描述了一种方法。
要点是打开一个包含脚本的选项卡,并使用消息传递与其通信。
出现的一个小问题是您不知道新打开的页面何时准备就绪。我通过使新打开的页面自行接触背景页面来解决这个问题,但由于只有一个全局变量而草率。
更好的解决方案是一次性事件侦听器,如下所示:
// Execute this code from the background page, not the popup!
function openScreenshot(src){
chrome.tabs.create(
{ url: chrome.runtime.getURL("newtab.html") },
function(tab) {
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
// If the request is expected and comes from the tab we just opened
if(message.getScreenshot && sender.tab.id == tab.id) {
sendResponse(src);
// Ensure we're only run once
chrome.runtime.onMessage.removeListener(arguments.callee);
}
});
}
);
}
除此之外,请按照链接的答案进行操作。
相关文章:
- 获取屏幕截图并在电子邮件中发送的按钮
- 如何使用selenium和同步JS进行屏幕截图
- 使用javascript api创建youtube的屏幕截图
- 删除闪烁的光标进行网络屏幕截图测试
- 如何在html和javascript中捕捉聚合物元素的屏幕截图
- Phanomjs 未正确捕获网页的屏幕截图
- UIWebview在页面上执行注入的JavaScript后的屏幕截图
- 限制从iPad拍摄屏幕截图
- 使用Html2Canvas的文本区域屏幕截图
- 从json文件输出多个屏幕截图(例如itunes搜索api)
- 点击按钮即可创建网页的图片/pdf/屏幕截图
- 如何在asp.net中获取当前页面的屏幕截图
- 如何使用JavaScript拍摄部分谷歌地图的屏幕截图
- 拍摄元素的屏幕截图
- 如何使用javascript或jquery获取网页的屏幕截图
- 使用 chrome.tabs.captureVisibleTab 的屏幕截图
- HTML,尝试在左侧创建一个滑动菜单(带有屏幕截图)
- 捕获(屏幕截图)非活动选项卡
- Chrome扩展程序 - 在新选项卡中打开捕获的屏幕截图
- 我可以禁用Windows 8共享栏上的屏幕截图选项吗