我是制作Chrome扩展程序的新品牌,并且已经完成了简单的教程,但我无法找到所需的内容。我希望扩展程序允许用户选择网页上的图像,然后将该图像的URL复制到扩展程序中。谁能帮我吗?我确信如果我看到一个例子,我会更好地理解扩展如何与页面交互。Chrome扩展程序,点击复制图片网址
1
A
回答
4
从我对你的问题的理解中,我想说你想创建一个context menu项目,当你右键点击一个图像时显示。例如,在你的后台脚本,使用方法:
chrome.contextMenus.create({
title: "Use URL of image somehow",
contexts:["image"],
onclick: function(info) {
handleImageURL(info.srcUrl);
}
});
function handleImageURL(url) {
// now do something with the URL string in the background page
}
这将增加,显示了对所有页面的上下文菜单项,但只有当你在图像上单击鼠标右键。当用户选择它时,菜单项的onclick
处理程序将以图像的URL作为参数触发handleImageURL
。该URL可以用任何您喜欢的方式进行处理,例如保存在localStorage
列表中,通过Ajax发送到服务器,或者在当前选项卡中通过passed in a message收听到content script。
编辑与替代:
你可能想的是被注入到每个页面content script。该脚本可以在加载时的事件侦听器的每一个图像元素绑定:
// in my_content_script.js...
var imgs = document.getElementsByTagName("img");
for(var i = 0, i < imgs.length; ++i) {
imgs[i].addEventListener("click", function() {
alert(this.src);
// do things with the image URL, this.src
});
}
要其注入的example.com
所有子域,你的清单将包括:
...
"content_scripts": {
"matches":["*://*.example.com/*"],
"scripts":["my_content_script.js"]
},
...
注意,这个纯JS解决方案不会将侦听器附加到加载后动态添加的图像上。要做到这一点在你的内容脚本使用jQuery,使用:
$(document).on("click", " img", function() {
alert(this.src);
});
,并添加您的jQuery文件名设置你的清单中scripts
阵列,旁边my_content_script.js
。
0
在此基础上Google Chrome Extension sample:
var images = [].slice.apply(document.getElementsByTagName('img'));
var imageURLs = images.map(function(image) {
return image.src;
});
chrome.extension.sendRequest(images);
对于更详细的例子(例如,如何处理该请求),你可以看看这个扩展我编写的名为Image Downloader
相关问题
- 1. Chrome扩展程序:点击链接时更改链接网址
- 2. Chrome扩展程序导航到网址
- 3. Chrome扩展程序外部网址
- 4. Chrome扩展程序跳转到网址
- 5. 模拟点击Chrome扩展程序
- 6. Chrome扩展程序:处理点击
- 7. Chrome扩展程序:复制文本
- 8. 将Chrome扩展程序限制为某些网址?
- 9. Chrome扩展使鼠标点击扩展
- 10. 试图让我的Chrome扩展程序,点击页面
- 11. Chrome扩展程序:点击编辑当前网址,然后重定向到编辑的网址
- 12. Chrome扩展程序隐藏地址栏
- 13. Chrome扩展程序支持将图像复制到剪贴板?
- 14. Google chrome rehost图片扩展
- 15. Chrome扩展程序
- 16. Chrome扩展程序
- 17. Chrome浏览器扩展程序:当用户点击图标时导航到一个网址
- 18. 将网址添加到html扩展程序中Chrome
- 19. 在Chrome扩展程序中访问新书签的网址
- 20. 使用Chrome扩展程序获取当前网址
- 21. Chrome扩展程序无法在HTTPS网址上工作
- 22. 为某些网址启用Chrome扩展程序?
- 23. 使用Chrome扩展程序在特定时间打开网址
- 24. Javascript与通配符匹配的网址 - Chrome扩展程序
- 25. 从Chrome扩展程序的Javascript中获取标签网址
- 26. 通过Chrome扩展程序获取加载网址的来源?
- 27. Chrome扩展程序:避免重复?
- 28. Chrome扩展程序搜索网站?
- 29. Chrome扩展程序的网页
- 30. 恢复旧的Facebook照片查看器 - Chrome扩展程序
你能澄清你的意思是什么“将URL复制到扩展名*”中?你到底想做什么? – apsillers
我的意思是,当我点击任何图片时,标签的src属性可供Chrome扩展程序访问,因此我可以使用它进行操作。 – Keith
添加了一个可能更接近您想要的选项。 – apsillers