在网站 Logo 上右击时提示下载网站的 Logo 素材下载

简介: 本文讲的是在网站 Logo 上右击时提示下载网站的 Logo 素材下载,有一天我在访问 Invision 网站时,突然想要抓取他们网站的 logo。如果运气好的话(例如你非常开心地发现他们 logo 的 SVG 文件),有时候你不需要去 Google 图片搜索,也不用普通网页搜索关键词 “Invision Logo”找到一些品牌介绍页面之类网页,才可以下载 logo 图片。
本文讲的是在网站 Logo 上右击时提示下载网站的 Logo 素材下载,

有一天我在访问 Invision 网站时,突然想要抓取他们网站的 logo。如果运气好的话(例如你非常开心地发现他们 logo 的 SVG 文件),有时候你不需要去 Google 图片搜索,也不用普通网页搜索关键词 “Invision Logo”找到一些品牌介绍页面之类网页,才可以下载 logo 图片。

因此我右击了他们的 logo,希望可以通过”查看元素”从开发者工具(DevTools)中找到它的图片文件。

然而并没有出现右键菜单,而是触发了一个对话框:

我感到非常惊喜,因为这正是我想要的。

下面是一个简单的无依赖的实现方法

看这个来自 Chris Coyier(@chriscoyier 的示例 右击 Logo 以显示 Logo 选项)。

>

你的应用可能已经有一整套精致的系统来展示对话框了。如果是这样,那就更简单了。为 logo 绑定“右击”事件(准确来说是contextmenu)并加入你想完成的操作。

logo.addEventListener('contextmenu', function(event) {
  // do whatever you do to show a modal
}, false);

如果你当前没有实现对话框的系统,也很容易实现一个简单的版本。你需要一个浮层和一个对话框元素:

还有一个计划表:

  1. 右击 logo 时,显示浮层和对话框
  2. 点击关闭按钮时,隐藏它们

没问题:

var logo = document.querySelector("#logo");
var button = document.querySelector("#close-modal-button");
var overlay = document.querySelector("#overlay");
var modal = document.querySelector("#modal");

logo.addEventListener('contextmenu', function(event) {
  event.preventDefault();
  overlay.classList.add("show");
  modal.classList.add("show");
}, false);

button.addEventListener('click', function(event) {
  event.preventDefault();
  overlay.classList.remove("show");
  modal.classList.remove("show");
}, false);

基本样式:

.overlay {
  position: fixed;
  background: rgba(0, 0, 0, 0.75);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}
.overlay.show {
  display: block;
}

.modal {
  position: fixed;
  left: 50%;
  width: 300px;
  margin-left: -150px;
  top: 100px;
  background: white;
  padding: 20px;
  text-align: center;
  display: none;
}
.modal.show {
  display: block;
}
.modal > h3 {
  font-size: 26px;
  color: #900;
}

永远不要用你自己自定义的行为破坏原有的右键菜单,我的天,你这个根本就不应该存在的恶魔






原文发布时间为:2016年04月20日

本文来自云栖社区合作伙伴掘金,了解相关信息可以关注掘金网站。
目录
相关文章
|
5月前
|
JavaScript 前端开发 安全
某文学网站上挂的logo.jpg /logo.exe 更新了
某文学网站上挂的logo.jpg /logo.exe 更新了
|
人工智能 文字识别 自然语言处理
ABBYY FineReader2023汉化版OCR识别软件更新
ABBYY FineReader是一款超强大的OCR识别软件,ABBYY 轻松将任意文档转换成您需要的可编辑、引用、归档、搜索或分享的信息!ABBYY FineReader 通过将纸质文档、PDF文件和数码照片中的文字转换成可编辑、可搜索的文件,让您的电脑处理更具效率,摆脱从前的烦恼。
394 0
|
前端开发
织梦dedecms评论助手插件(支持图片视频上传与随机头像功能)
织梦评论助手是一款评论插件,安装后可以替代原有的织梦评论,立即拥有一个属于你自己网站的友好的评论系统。支持评论图片视频上传与评论者随机头像功能。
录屏软件生成gif,5分钟从下载到会用,哈哈哈
录屏软件生成gif,5分钟从下载到会用,哈哈哈
112 0
|
BI 数据安全/隐私保护 安全
|
JavaScript 前端开发
【全网最全的博客美化系列教程】08.自定义地址栏Logo
全网最全的博客美化系列教程相关文章目录 【全网最全的博客美化系列教程】01.添加Github项目链接 【全网最全的博客美化系列教程】02.添加QQ交谈链接 【全网最全的博客美化系列教程】03.给博客添加一只萌萌哒的小仓鼠 【全网最全的博客美化系列教程】04.
1681 0

热门文章

最新文章