高端企业网站制作-一站式解决方案-河北乐客网站建设公司

网站定制

页面设计

网站设计制作一条龙

域名 + 空间 + 设计 + PC + 移动 + H5

网站模板下载

500+网站模板供您选择
价值千元模板不收取任何费用,免费下载.

我们的服务

公司以诚信服务对待每一位客户的售前售中售后.一言九鼎的态度。以科技创新的方法,认真务实的精神制造出每一个网站.

最新模板

  • square多功能商业公司wordpress主题
    638 免费模板
    Square是一个灵活的响应式多功能主题,兼容所有浏览器和设备,完全移动友好,具有许多功能。这是一个基于WordPress定制器的最小主题,允许您使用实时预览进行自定义。该主题可用于商业,企业,数字代理,个人,投资组合,摄影,视差,博客和杂志。Square是电子商务(WooCommerce)兼容,Polylang兼容,WPML,RTL,Retina Ready,SEO友好和支持bbPress和BuddyPress。更重要的是它是一个完整的主题。
    发布时间:2019-09-17 09:53:50
  • ENVO免费多用途WordPress主题
    654 免费模板
    Envo Multipurpose 是一个快速,干净,现代外观响应多用途,与有 WooCommerce 支持的 WordPress 主题。主题完全被加宽,因此用户可以通过使用易于使用的小工具来管理内容。主题与任何拖拽页面生成器,如 Elementor,KingComposer,Beaver Builder,SiteOrigin,Divi,Brizy,Visual Composer 等,并兼容所有的主要插件,如 WooCommerce,Yoast,Contact Form 7 等。
    发布时间:2019-09-17 09:17:50
  • Orfeo多用途响应式wordpress主题
    696 免费模板
    Orfeo 是一个具有多用途设计的响应 WordPress 主题。它很适合小型企业和公司业务,因为它可以通过现场定制器进行高度定制。您可以使用 Orfeo 创造餐馆、初创公司、自由职业者简历、创意机构、作品集、WooCommerce 或利基像体育、医疗、博客、时尚、律师等站点。它有一页 设计,Sendinblue 通讯整合,小工具化页脚和干净的外观。主题是兼容 Elementor Page Builder,Photo Gallery,Flat Parallax Slider,Travel Map;该主题是移动友好与之有良好的搜索引擎优化。
    发布时间:2019-09-16 17:34:13
  • Futurio免费多用途wordpress响应式主题
    753 免费模板
    Futurio 是一款轻量级,快速且可定制的免费多用途和 WooCommerce WordPress 主题,适用于商业,作品集,创意和摄影站点,电子商务商店,登陆页面,博客或 WooCommerce 店面。 Futurio 与所有页面构建器完美配合,如 Elementor,Beaver Builder,King Composer,Brizy,Visual Composer,SiteOrigin,Divi 或 Gutenberg,并支持大多数免费和优质 WordPress 插件,如WooCommerce,Jetpack,Contact Form 7,Yoast SEO 和更多。
    发布时间:2019-09-12 16:13:19
  • Zakra多用途wordpress响应式主题
    531 免费模板
    Zakra适用于个人博客,作品集,WooCommerce商店,商业站点和其他站点(如咖啡厅,水疗中心,慈善机构,瑜伽,婚礼,牙医,教育等)。与Elementor以及其他主要页面构建器一起使用,以便您可以创建所需的任何布局。主题是响应,Gutenberg兼容,SEO友好和主要的WordPress插件兼容。
    发布时间:2019-09-12 15:44:26
  • Hestia现代化企业创意wordpress主题
    543 免费模板
    Hestia是一个现代化 WordPress 主题。 该主题适合创意业务,小型企业(餐馆,婚礼策划人员,运动/医疗店),创业公司,企业业务,在线代理与公司,电子商务(WooCommerce)和自由职业者。 该主题具有多用途单页设计,页脚里使用小工具功能,博客/新闻页面和干净的外观,和各种插件兼容:Flat Parallax Slider, Photo Gallery, Travel Map and Elementor Page Builder。 主题拥有了响应式设计,兼容 WPML 与 Retina,SEO优化,并使用 Material Kit 进行设计。
    发布时间:2019-09-12 15:05:03

客户案例

专业的网站设计制作团队,坚持原创,尊重设计.

您不是第一个找我们做全网营销的客户,我们已经得到了很多客户的认可!

乐客网站制作案例-深圳宏志教育
乐客网站制作案例-深圳宏志教育

乐客网站制作案例-深圳宏志教育

河北乐客互联
  •  42

乐客网站制作案例-深圳宏志教育

深圳宏志教育全称宏志文化教育服务(深圳)有限公司,是一家专业的培训考证学校,我校提供电工、电大中专、电梯修理、安全员、叉车、电梯安全、高处作业、焊工等多职业考证培训年审换证,全国联网可查的正规有效证件,服务于全国各地,并在深圳打造了专业培训考证服务的培训学校。

  • 客户名称:深圳宏志教育
  • 更新日期:2021-04-21 17:10:05

项目介绍

深圳宏志教育全称宏志文化教育服务(深圳)有限公司,是一家专业的培训考证学校,我校提供电工、电大中专、电梯修理、安全员、叉车、电梯安全、高处作业、焊工等多职业考证培训年审换证,全国联网可查的正规有效证件,服务于全国各地,并在深圳打造了专业培训考证服务的培训学校。

颜色选择

 

#64A136

 

#499113

 

#0056b3

 

#656565

案例预览

深圳宏志教育深圳宏志教育深圳宏志教育

乐客网站制作案例-深圳智圆行方
乐客网站制作案例-深圳智圆行方

乐客网站制作案例-深圳智圆行方

河北乐客互联
  •  41

乐客网站制作案例-深圳智圆行方

乐客网站制作案例:智圆行方机构是由三位历经深圳顶尖公司的资深总监合力创办,主要为众多客户提供品牌策划、品牌定位、品牌设计、标志设计、VI设计、包装设计、食品包装设计、礼盒包装设计、保健品包装设计等业务,智圆行方吸收先进品牌理念,不断践行、更新、完善品牌推广的各个环节,坚持以踏踏实实的心态,完成每一个项目坚持只服务于拥有品牌雄心的客户。

  • 客户名称:深圳市智圆行方广告有限公司
  • 更新日期:2021-02-03 17:29:16

项目介绍

智圆行方机构是由三位历经深圳顶尖公司的资深总监合力创办,主要为众多客户提供品牌策划、品牌定位、品牌设计、标志设计、VI设计、包装设计、食品包装设计、礼盒包装设计、保健品包装设计等业务,智圆行方吸收先进品牌理念,不断践行、更新、完善品牌推广的各个环节,坚持以踏踏实实的心态,完成每一个项目坚持只服务于拥有品牌雄心的客户。

颜色选择

 

#fe1600

 

#333

案例预览

乐客网站制作案例:深圳智圆行方 乐客网站制作案例:深圳智圆行方 乐客网站制作案例:深圳智圆行方

乐客网站制作案例-上海国柔电缆
乐客网站制作案例-上海国柔电缆

乐客网站制作案例-上海国柔电缆

河北乐客互联
  •  58

乐客网站制作案例-上海国柔电缆

乐客网站制作案例:国柔电缆集产品研发、生产、销售于一体、拥有优良的生产设备和完善的检测手段,健全的管理体系、严格的作业流程、严谨的品质态度与优良的服务管理,确保优质高效的服务于客户。得到了国内外客户广泛认可与厚爱,确保了产品的优良品质。

  • 客户名称:上海国柔电缆
  • 更新日期:2020-09-16 11:08:01

项目介绍

国柔电缆集产品研发、生产、销售于一体、拥有优良的生产设备和完善的检测手段,健全的管理体系、严格的作业流程、严谨的品质态度与优良的服务管理,确保优质高效的服务于客户。得到了国内外客户广泛认可与厚爱,确保了产品的优良品质。

颜色选择

#28a745

#00c9a7

#377dff

#677788

项目预览

乐客网站制作案例:上海国柔电缆

乐客网站制作案例:上海国柔电缆

乐客网站建设案例-名雕装饰品牌网站
乐客网站建设案例-名雕装饰品牌网站

乐客网站建设案例-名雕装饰品牌网站

河北乐客互联
  •  58

乐客网站建设案例-名雕装饰品牌网站

乐客网站制作案例:名雕装饰股份有限公司始建于1999年,经过十余年的稳健发展,名雕已成为集家居设计服务、工程施工服务、公共装饰设计服务、材料物流配送、家私生产、售后服务、专业教育培训于一体的全国知名家居装饰企业。

  • 客户名称:名雕装饰
  • 更新日期:2020-09-16 10:03:28

项目介绍

名雕装饰股份有限公司始建于1999年,经过十余年的稳健发展,名雕已成为集家居设计服务、工程施工服务、公共装饰设计服务、材料物流配送、家私生产、售后服务、专业教育培训于一体的全国知名家居装饰企业。公司主营业务是为中大户型住宅客户提供专业、高品质的一体化装饰服务,是国内知名的以设计为特色的“一体化家居解决方案”服务商。旗下共拥有名雕装饰、名雕丹迪、名雕盛邦、名启生态家居产业园、美家世邦建材体验馆、名雕职业技能培训六大品牌服务机构。

总部设在深圳,并在深圳、东莞、中山、江门、佛山、广州、重庆、长沙、惠州等地设有40多家直营装饰设计服务机构。多年来名雕坚持“规范化、专业化、集团化”的发展道路,信守“忠诚、务实、沟通、稳健”的经营之道,恪守“原创设计为先”和“客户利益至上”原则,深受广大客户、政府主管部门、行业协会、媒体等社会各界的高度认可与信赖,先后荣获国家工程设计与施工壹级资质、全国装饰优秀标兵企业、中国建筑装饰行业质量与服务诚信企业、广东省著名商标企业等众多殊荣。在装饰设计行业领先全国的深圳特区,更被誉为装饰行业知名品牌。

项目预览

乐客网站建设案例-美莱全屋顶
乐客网站建设案例-美莱全屋顶

乐客网站建设案例-美莱全屋顶

河北乐客互联
  •  64

乐客网站建设案例-美莱全屋顶

乐客网站建设案例-美莱全屋顶项目介绍:从1986年建厂至今,MIDAS美莱一直致力于“让更多人实现美好家居生活梦想”的使命而不懈努力。现已成为集研发、设计、制造、营销、服务于一体的全屋定制领导品牌。MIDAS美莱专于精研,坚持原创,以用户的生活梦想为中心,以人为本的设计理念,为每一个家庭提供个性、高雅、多元化的家居定制解决方案。

  • 客户名称:美莱全屋顶
  • 更新日期:2020-07-21 09:54:44

项目介绍

从1986年建厂至今,MIDAS美莱一直致力于“让更多人实现美好家居生活梦想”的使命而不懈努力。现已成为集研发、设计、制造、营销、服务于一体的全屋定制领导品牌。MIDAS美莱专于精研,坚持原创,以用户的生活梦想为中心,以人为本的设计理念,为每一个家庭提供个性、高雅、多元化的家居定制解决方案。

整体风格

整体版面的风格主要以简约大气为主,网站的整体色调主要以灰色为主,版面的排版主要采用简洁的分块化形式展示,通过简约的深灰色灰和白色背景色块相互间隔区分内容模块,增强页面的层次感。

整体布局

在页面设计中使用新鲜的区域划分功能展示设计可以方便呈现不同的信息,方便用户进行快速选择和视觉聚焦,丰富的交互设计,层次分明、逻辑清晰,增加企业和用户之间的交流,有效提升用户体验,并凸出企业实力。

项目预览

乐客网站建设案例-美莱全屋顶

乐客网站建设案例-美莱全屋顶

乐客网站建设案例-名杰装饰
乐客网站建设案例-名杰装饰

乐客网站建设案例-名杰装饰

河北乐客互联
  •  75

乐客网站建设案例-名杰装饰

乐客网站建设案例-名杰装饰:作为家居的行业的领航人,名杰装饰一直给人诚恳舒适给人眼前一亮的感觉,所以这次网站保持原有的品牌的调性进行设计,让整个画面充满温馨的感觉让人更加亲切的体验。

  • 客户名称:名杰装饰
  • 更新日期:2020-06-23 17:22:47

项目介绍

作为家居的行业的领航人,名杰装饰一直给人诚恳舒适给人眼前一亮的感觉,所以这次网站保持原有的品牌的调性进行设计,让整个画面充满温馨的感觉让人更加亲切的体验。

每个模块均放代表名杰文化的宣传语,丰富的案例展示凸显公司实力,贴近用户体验的点缀与宣传语结合突出了名杰注重细节的发展理念,另外整个页面全方位展示了公司的各方面优势,进一步彰显企业的真正实力。网站整体风格结合VI设计,以专业、大气为主,红色为主色调,融入logo元素作为点缀,带给用户不一样的视觉体验,能很好的带领用户了解企业,并体现出企业的专业形象。

网站内容上主要以案例展示、工地展示、获取报价、设计团队为主要的展示内容,让浏览者能够全面的了解名杰品牌风格和公司实力。

项目预览

乐客网站建设案例-名杰装饰

乐客网站建设案例-名杰装饰


乐客网站建设案例-自然优品网站建设
乐客网站建设案例-自然优品网站建设

乐客网站建设案例-自然优品网站建设

河北乐客互联
  •  64

乐客网站建设案例-自然优品网站建设

乐客网站建设案例:自然优品NATURE HOME是大自然家居集团(香港股票代码2083)旗下公司,主要经营:家居软装、地板辅助产品、木质产品油漆和修复工具等业务。

  • 客户名称:名杰装饰
  • 更新日期:2020-05-28 15:09:18

项目介绍

自然优品NATURE HOME是大自然家居集团(香港股票代码2083)旗下公司,主要经营:家居软装、地板辅助产品、木质产品油漆和修复工具等业务。聚焦北欧风格家居,致力于为消费者打造自然、简约、精致的生活方式。旗下品牌门店有nordic gallery,nestnordic,fynd,经营品类涵盖了北欧原创设计家具、灯具灯饰、家居配饰、窗帘布艺、沙发布艺、收纳整理用品、软装搭配设计、智能家居产品等海量产品资源,自然优品NATURE HOME旨在成为国内北欧风格家居第一品牌。优网科技再一次与大自然集团达成愉快的合作,双方在沟通和协调合作上都十分顺利。

网页设计整体运用灰棕等莫兰迪色系,以及产品配图的衬托,营造出浓浓的北欧式温馨感。版面布局整齐,有序,整体浏览舒畅。广州网站建设中将页面动态效果与设计完美结合,产品模块可指向切换产品图展示,交互效果流畅。

项目预览

乐客网站建设案例-自然优品网站建设

乐客网站建设案例-自然优品网站建设

乐客网站建设案例-蟹行天下
乐客网站建设案例-蟹行天下

乐客网站建设案例-蟹行天下

河北乐客互联
  •  60

乐客网站建设案例-蟹行天下

乐客网站建设案例:蟹行天下作为中央电视台的合作伙伴,实力和口碑在业内也是非常不错,网站整站设计使用黑色及辅助色金色使网站更大气高端,随着手机和平板的增多,人们跟喜好在手机和平板上访问网站,技术上使用HTML5+css3,响应式网站设计的架构让网站能在平板、手机,和电脑上访问。​

  • 客户名称:蟹行天下
  • 更新日期:2020-05-21 15:29:44

项目介绍

蟹行天下大闸蟹企业官网制作是红旗网络打造的又一大型知名的企业官网,蟹行天下作为中央电视台的合作伙伴,实力和口碑在业内也是非常不错,网站整站设计使用黑色及辅助色金色使网站更大气高端,随着手机和平板的增多,人们跟喜好在手机和平板上访问网站,技术上使用HTML5+css3,响应式网站设计的架构让网站能在平板、手机,和电脑上访问。

项目预览

乐客网站建设案例-蟹行天下

乐客网站建设案例-蟹行天下

乐客网站建设案例-广州骏企驿站
乐客网站建设案例-广州骏企驿站

乐客网站建设案例-广州骏企驿站

河北乐客互联
  •  60

乐客网站建设案例-广州骏企驿站

乐客网站建设案例:广州骏企驿站简介-骏企驿站强调服务的专业性,在财税服务上,聘请注册会计师、注册税务师、高级会计师、中级会计师作为服务人员,以此解决创业者对于中介代理服务公司的信任问题。 骏企驿站凭借着不断开拓创新、与时俱进的精神,努力服务好每一个客户的宗旨,迅速地发展壮大,目前、已成立六家子公司。

  • 客户名称:广州骏企驿站
  • 更新日期:2020-05-19 14:59:01

项目介绍

骏企驿站强调服务的专业性,在财税服务上,聘请注册会计师、注册税务师、高级会计师、中级会计师作为服务人员,以此解决创业者对于中介代理服务公司的信任问题。 骏企驿站凭借着不断开拓创新、与时俱进的精神,努力服务好每一个客户的宗旨,迅速地发展壮大,目前、已成立六家子公司。

项目预览

乐客网站建设案例-广州骏企驿站

乐客网站建设案例-广州骏企驿站

years in business
59
team members
Clients Stats Icon
650+

关键词数量
Project Stats Icon
24 hour

工作时间
User Stories Stats Icon
220+

操作数量
Commits Stats Icon
1000+

用户咨询
我们的愿景【让客户的客户觉得满意】
河北乐客互联网络科技有限公司创立于2019年3月,是一家专注SEO、网站优化、网站建设、网站制作的互联网公司,虽然是才成立半年的新公司,但是每一位成员实际入行都已经4-5年的时间

乐客互联
by 乐客互联

我们的愿景【让客户的客户觉得满意】

河北乐客互联
  •  564

我们的愿景【让客户的客户觉得满意】

发布时间:2019-07-18 17:04:10



河北乐客互联网络科技有限公司创立于2019年3月,是一家专注SEO、网站优化、网站建设、网站制作的互联网公司,虽然是才成立半年的新公司,但是每一位成员实际入行都已经4-5年的时间;

我们是希望在这互联网的大潮当中做那个忠于自己和用户的企业,并非只为盈利而去服务,而是用户需要我们,我们帮用户解决了他们真正的问题;

处在行业内其实看到过很多很多利益驱使前行的公司,而我们更想以客户的满意度作为驱使我们前行的动力,乐客互联网络成员都深信一个道理,让用户满意,赚钱只是水到渠成的一件事,所以我们把中心都放在了用户服务上;

那么本网站的服务主体是围绕着网站建设、网站制作、高端网站设计,我们的优势在于本身精通SEO优化,了解什么样子的网站可以更好的满足搜索引擎优化的需求,企业只做一个网站意义是不大的,能在搜索引擎上有一定的排名才会让网站有更大的价值,才可以提升企业品牌的知名度,定位不同,所以价格各不相同,就像有的建站公司可以500元建站一样,您时不时需要面对网站挂马,被镜像等原因,并且问题多了,建站公司是不想在为用户服务的,因为利润太低。

乐客互联所用的服务器都是阿里云的服务器,即便是不能备案的网站同样是用的阿里云香港的服务器,十分的安全,如果您想建站,但是不知道选择哪家建站公司的话不如和我们合作,相信我们的服务会让您满意!

河北乐客互联LOGO


如何在 WordPress 导航菜单中添加 Nofollow 链接
许多网站所有者更喜欢给外部链接添加 nofollow 标签,但初学者在给菜单添加自定义链接时可能会发现这很棘手。

乐客互联
by 乐客互联

如何在 WordPress 导航菜单中添加 Nofollow 链接

河北乐客互联
  •  49

如何在 WordPress 导航菜单中添加 Nofollow 链接

发布时间:2022-03-03 11:13:21


许多网站所有者更喜欢给外部链接添加 nofollow 标签,但初学者在给菜单添加自定义链接时可能会发现这很棘手。

在这篇文章中,我们将向你展示如何在 WordPress 导航菜单中添加 nofollow 链接。

为什么在 WordPress 导航菜单中添加 Nofollow 链接?

如果你正在运行一个 WordPress 网站,那么你可能想在创建外部链接时添加一个 nofollow 标签。这让搜索引擎知道不要把任何链接权限从你的页面传递到你所链接的其他网站。

当你链接到一个外部网站时,搜索引擎会认为这是一个排名信号,他们会把你的一小部分权威传递给其他网站。作为一个一般的 SEO 最佳实践,你应该对所有你不信任的外部网站添加 nofollow。

你可以像这样将 rel="nofollow" 属性添加到链接中:

<a href="https://example.com" rel="nofollow">Example</a> 

然而,在导航菜单项中添加 nofollow 链接有点不同,可能会让初学者感到困惑。

在这篇文章中,我们将向你展示如何在 WordPress 导航菜单中添加 nofollow 链接。我们将介绍两种方法,第二种方法适用于使用 WordPress 5.9 或更高版本的用户,并且它的主题与新的主题编辑器兼容。

方法一:使用 WordPress 菜单编辑器添加 Nofollow 链接

要开始,只需访问 WordPress 管理区域的外观 » 菜单。

首先,你需要像添加自定义链接一样,将外部链接添加到你的 WordPress 导航菜单中。

要做到这一点,你需要点击 “自定义链接” 标签,这样你就可以看到 URL 和链接文本选项。只需输入 URL 和链接文本的网站,你是链接到。

之后,你应该点击 “添加到菜单” 按钮,链接将被添加到 “菜单结构” 列。

要向链接添加 nofollow 属性,你需要单击菜单项右侧的向下箭头,如上面的截图所示。现在可以看到刚才添加的外部链接的详细信息,包括 URL 和导航标签。

如果你没有看到链接目标和链接关系选项,那么你必须添加它们。

要显示这些选项,你需要点击屏幕右上角的 “屏幕选项” 按钮。然后选中链接目标和链接关系 (XFN) 选项旁边的复选框。

现在,你可以向下滚动到扩展的菜单项,你将注意到两个新选项。接下来,只需在链接关系字段中输入 nofollow。

当添加外部链接时,我们建议你也点击 “在新标签中打开链接” 复选框。这是一个很好的方法来提高用户粘性,让你的访问者不会离开你的网站。

最后,点击 “保存菜单” 按钮来存储你的更改。

你现在可以预览你的网站,以看到新的 nofollow 菜单项。

让我们确保 nofollow 属性已经添加到链接。

只需右键单击新链接并选择 “Inspect”。你的浏览器窗口将分成两个窗口。在底部窗口中,你将能够看到你的链接的 HTML 源代码。它将显示 nofollow 属性和你的链接。

方法二:使用 WordPress 主题编辑器添加 Nofollow 链接

这个方法适用于使用 WordPress 5.9 或更高版本,并且有一个支持新的 WordPress 主题编辑器的主题的用户。在这种情况下,外观 » 菜单页面将不可用。

相反,你应该在你的 WordPress 仪表板中导航到外观=>编辑器。这将打开 WordPress 主题编辑器。

添加一个新链接到导航菜单

如果你需要添加一个新的菜单项,那么你必须单击左上角的蓝色块插入器图标。接下来,你应该向下滚动,直到找到自定义链接块,然后将其拖到导航菜单上。

你现在可以键入或粘贴 URL。如果你愿意,你也可以将 “Open in new tab” 选项切换到打开的位置。在此之后,确保单击弹出窗口右上角的 Submit 图标,以便存储菜单项的设置。

链接 URL 将被添加到菜单中,但你通常需要一些更具描述性的内容,比如网站的名称。只需开始键入以重命名菜单项。

添加 Nofollow 属性到一个链接

要将 nofollow 属性添加到菜单项,只需单击它,就会出现一个工具栏。

接下来,你需要单击该工具栏上的链接图标。在右侧的设置窗格中,你需要在链接关系 (' link rel ') 字段中输入 nofollow。

如果愿意,还可以为链接添加描述和标题,并使用工具栏上的箭头图标重新排列菜单项。

当你完成后,点击屏幕顶部的 “保存” 按钮。新的自定义链接将被添加,你可以访问你的网站,看看你的导航菜单现在的样子。

XML 和 HTML: 学习这些标记语言之间的区别
XML 和 HTML 都是标记语言。虽然它们听起来很相似,但它们在不同的应用程序中是独特的语言。然而,这两种标记语言以多种方式协同工作,如果你想精通 web 开发,了解这两种语言都很重要。以下是关于 XML 和 HTML 你需要知道的一切。

乐客互联
by 乐客互联

XML 和 HTML: 学习这些标记语言之间的区别

河北乐客互联
  •  102

XML 和 HTML: 学习这些标记语言之间的区别

发布时间:2022-03-01 17:36:35


XML 和 HTML 都是标记语言。虽然它们听起来很相似,但它们在不同的应用程序中是独特的语言。然而,这两种标记语言以多种方式协同工作,如果你想精通 web 开发,了解这两种语言都很重要。以下是关于 XML 和 HTML 你需要知道的一切。

本文探讨了 XML 和 HTML 是什么,使用它们时,它们之间的区别,以及如何将它们组合起来创建有效的网络。

XML 是什么?

XML 代表可扩展标记语言,是跨应用程序和服务器传输数据的最常见的网络语言之一。

与其他标记语言不同,XML 本身不做任何事情。它所做的就是存储数据。它需要与另一个应用程序交互,以显示、移动或以其他方式使用存储的代码。

XML 确实有语法,但是它的所有标记都是由你定义的,你也可以添加或删除这些标记。这就是它 “可扩展” 的原因。

什么时候使用 XML ?

XML 的主要功能是存储和传输数据。与 HTML 非常相似,XML 也用于创建网站,但与 HTML 不同的是,它不关心向访问者显示数据。

XML 的唯一功能是移动数据;然后如何使用它取决于你和你将它与之配对的技术。通常,你需要将数据从服务器或另一个应用程序传输到数据库。

WordPress 使用 REST API 在服务器之间建立连接,可以传输包括 XML 在内的数据。在过去,它使用 XML-RPC 代替,但现在已经过时了。

XML 存储的数据类型完全由你决定,但通常用于 “结构化数据”,如文档、发票、目录、书籍等。它通常用于在 web 应用程序 (如表单) 中存储数据。

XML 与平台无关,并且是纯文本格式,因此你不必担心无法打开和读取传输给你的数据。XML 基本上可以用于任何技术。这就是为什么它今天仍然被广泛使用的原因。

XML 的特点

下面是 XML 的一个分解,以及它可以做什么,这样你就可以很容易地将它与 HTML 进行比较。

  • XML 可以有效地将数据从一个地方存储到另一个地方。
  • 虽然 XML 通常是人类可读的,但它依赖于其他应用程序来显示、分析或输出数据。它只存储和移动它。
  • XML 是平台无关的,可以连接到任何支持它的应用程序。 它相对简单,易于编写和学习 —— 尽管使用它比 HTML 迈出了一大步。
  • XML 是动态的,可以用来创建非静态的网页。
  • XML 标记是用户定义的。你不需要像 HTML 那样记住标签;
  • 它是一种可扩展的语言,可以在任何时候向它写入或删除信息。

XML 的例子

仍然困惑吗?让我们来分析一个简单的 XML 实例。

<catalog>

  <plant>
    <id>01</id>
    <name>Daisies</name>
    <price>$2.95</price>
  </plant>

  <plant>
    <id>02</id>
    <name>Buttercup</name>
    <price>$2.30</price>
  </plant>

</catalog> 

首先要注意的是:所有这些标记都是用户定义的。XML 中没有内置的 “目录” 标签,也没有任何固有的功能。

这与 HTML 不同,在 HTML 中,类似<title>的标记会影响文本的格式。在 XML 中,标记自己不做任何事情。

正如你所看到的,这只是一种对信息进行排序和编目的方法。顶级标记是<catalog>,它应用于整个文档。接下来是<plant>目录,其中嵌套了两个不同花卉的 ID、名称和价格等信息。

就其本身而言,这没有任何作用。但是,你可以使用该数据创建一个动态目录,该目录将显示在你的网站上,并在你修改原始 XML 时自动更新。

你可以深入 HTML 并在每次从目录中添加或删除一朵花时更新你的网站,但这种方法要高效得多。所需要的只是一个小小的设置,以节省大量的工作。

HTML 是什么?

HTML 代表超文本标记语言,它是世界上最常见的网络语言之一。HTML 是互联网无与伦比的组成部分,也是创建网站的标准语言。

如果你想学习前端开发,HTML 不是可选的。几乎 100% 的网站使用它和 CSS。XML 是一种相当流行的标记语言,但 HTML 完全超过了它。

幸运的是,XML 和 HTML 不是竞争对手。你可以用它们来完成伟大的事情。

什么时候使用 HTML ?

HTML 是用于网站前端编码的主要语言。虽然 HTML 通常与其他语言 (如 CSS、XML 以及 Ruby 和 Python 等后端语言) 一起使用和集成,但它是负责打造网站布局和基本外观的主要语言。

它的工作方式是使用称为标签的各种元素来描述页面的结构和布局。这些标签与 XML 标签非常相似,但与 XML 不同的是,这些标签是预定义的;你需要记住它们,并有一个内置函数。

这些标记编写在服务器的文档中,然后访问者的浏览器将 HTML 转换为可视显示。HTML 创建图像、视频、表格,甚至整个页面布局。

例如,在浏览器中显示的 HTML 标记<b>将显示粗体文本。

HTML 的特点

简单地说,HTML 是什么?下面是基本的。

  • HTML 是最简单的编码语言之一,对于想学习代码的 web 开发新手来说,它是很好的第一步。
  • 它是 web 开发的主要标准化语言。它与平台无关,可以在所有支持它的浏览器和应用程序中工作。
  • HTML 使用由标签和属性组成的简单标记语法。这些标记是预定义的。
  • HTML 不区分大小写,即使有拼写错误和语法错误也会显示出来。
  • 它创建的静态网页不会更新或更改。
  • HTML 可以与其他 web 语言集成,如 CSS、XML 和后端语言。
<p>This is a paragraph</p> 

<p>标记设置一个简单的文本段落。它本身并没有做太多事情,但是可以使用 CSS 对 <p> 标签进行普遍的样式设置。这样,你网站上的每一段文字看起来都是你想要的。

以下是其他一些基本的 HTML 标签:

  • <h1>, <h2>,等等:设置页面的标题。上升到 h6。
  • <body>:设置页面的正文文本。
  • <b>:粗体文本。
  • <i>:用斜体字文本。
  • <img src= "url.jpg>":显示图像。
  • <a href="example.com>":链接到一个页面。标签中包含的文本将是你的锚文本。
  • <br>:添加换行符。

XML 和 HTML 的区别

HTML 和 XML 都是标记语言,它们与编程语言相似但又不同,因为它们使用标记来注释文档。它们也使用类似的语法,例如开始和结束标记。

但相似之处到此为止;这两种网络语言在应用上有很大的不同。

HTML 代码是专门为在浏览器中显示而设计的网页。XML 仅用于数据传输和存储。虽然它是人类可读的,但它并不打算在前端看到。

HTML 是静态的,XML 是动态的。使用 HTML 创建的站点通常不会自行更改或更新,而 XML 几乎总是用于生成动态应用程序。

HTML 是一种完全预定义的标记语言,已经定义了标记和元素。你不能创建自己的 HTML 标记。XML 更像是标记语言的框架,其中的标记完全由你自己创建。

最后,XML 在格式化方面要严格得多,而 HTML 更灵活,并且会试图呈现格式不正确的代码。XML 是区分大小写的,如果没有结束标记将无法解析,必须按照正确的顺序嵌套,并且属性值必须在引号中。

任何文本编辑器都可以编辑 HTML 或 XML,不过每种都有专门的代码编辑器。

HTML 和 XML 如何协同工作?

由于 XML 本身除了存储和传输数据之外不做任何事情,因此需要使用其他技术 (如 HTML) 来让它做任何事情。

如果你有任何类型的数据会随着时间的推移而更新,比如商店目录、天气服务或商店财务交易的发票列表,这是 XML 和 HTML 的主要集成。

如果只使用 HTML,每次有任何变化时,你都需要进入代码并更新站点。这要么太耗时,要么在某些情况下根本不可能。

相反,你可以实现 XML 来将这些数据与 HTML 分开。设置一些应用程序来收集数据,将其输出到 XML 文件,然后将其发送到服务器,在服务器上 HTML 将对其进行格式化,并根据需要更新页面。

换句话说,XML 充当你的站点和另一个应用程序之间的桥梁。这是许多使你的网站自动化并使其动态更新的方法之一。

当然,有很多方法可以实现 XML。这只是它所能做的一个简单的例子。

XML 与 HTML 的优缺点

如果你在设计一个网站,HTML 基本上是不可避免的。你可以使用许多其他语言,但 HTML 是网页设计的支柱,它没有其他选择。

好的方面是它相对容易学。当你犯错误时,编码语法是直接和灵活的,它主要只是记住每个标记的作用。

当然,设计符合现代编码标准的 HTML 完全是另一回事,但这适用于每一种编程语言。就基础而言,HTML 是非常平易近人的。

另一方面,这意味着 HTML 并不是一门非常强大的语言,仅使用 HTML 很难设计出漂亮或具有复杂功能的东西。

这些缺点可以通过 CSS、Javascript 等来解决,但 HTML 仍然是一种静态的、简单的语言,只能用于设置网站的基本布局和结构,而不能作为一个完整的网页设计工具。

现在说说 XML 的利弊:

XML 在它所做的事情上非常高效,即在应用程序或服务器之间传输文档和数据。这是一种动态语言,你可以使用它来处理 web 应用程序,并在你的站点上自动化流程。

这取决于它的用途,它比 HTML 更容易读懂,也更容易学习,因为它使用了类似的编码语法。因为所有标记都是用户定义的,所以不需要记忆任何东西。

但是 XML 的难点在于如何应用它。一旦你知道了标签,创建一个基本的 HTML 文档就很容易了,但是实际使用 XML 需要更多的 web 开发知识。

它的代码也是冗余的,这使得读写变得更加困难,并导致需要更多存储和网络空间的更大的文件大小。

总结

HTML 和 XML 都是执行各种功能的不同语言,所以不是选择其中一种的问题,而是在最合适的时候使用它们。

简而言之,HTML 是 web 开发的主要构建块,用来定义页面的结构。XML 可以在服务器之间传输数据,经常与 HTML 或其他应用程序一起使用。

如何生成 GitHub 的 SSH 密钥
Git 和 GitHub 是每个开发人员必不可少的工具。它们被广泛应用于几乎所有类型的软件开发项目中。

乐客互联
by 乐客互联

如何生成 GitHub 的 SSH 密钥

河北乐客互联
  •  46

如何生成 GitHub 的 SSH 密钥

发布时间:2022-02-21 09:22:45


Git 和 GitHub 是每个开发人员必不可少的工具。它们被广泛应用于几乎所有类型的软件开发项目中。

还有其他的 Git 托管服务,如 Gitlab 和 Bitbucket,但 GitHub 是最受开发者欢迎的选择。你甚至可以编辑你的个人资料,让招聘者觉得你更有吸引力。

你可以使用 Git 和 GitHub 来组织你的项目,与其他开发人员合作,当然还有 kininsta。

但是因为 Git 和 GitHub 是相关但又不同的工具,所以你需要不断地用它们更新你的工作流程。

我们建议为您的每台计算机使用 SSH 密钥。因此,在本教程中,您将了解它们是什么,它们的一些优点,以及如何生成和配置 GitHub SSH 密钥。

什么是 SSH 密钥?

简单地说,SSH 密钥是用于 SSH (Secure Shell) 协议的凭据,用于通过 internet 安全访问远程计算机。通常,该身份验证发生在命令行环境中。

该协议基于客户端 - 服务器架构,这意味着您作为用户 (或 “客户端”) 需要使用特殊的软件,称为 SSH 客户端,以登录到远程服务器并执行命令。这基本上就是你通过终端对 GitHub 进行身份验证时要做的事情。

但是 SSH 不仅仅用于 GitHub。它被其他平台广泛使用,如 Kinsta、谷歌 Cloud 和 Amazon Web 服务,以创建一个安全的通道来访问他们的服务。

现在,进入 SSH 密钥的实际工作方式,您需要理解公钥和私钥之间的区别。

公钥 vs 私钥

让我们从最基本的开始。

SSH 协议使用一种称为非对称加密的加密技术。这个词可能听起来复杂而怪异,但事实远非如此。

基本上,非对称加密是一种使用一对密钥的系统,即公钥和私钥。

正如您可能猜到的,公钥可以与任何人共享。它的主要目的是加密数据,将信息转换成密文或密文。这个密钥通常被发送到其他系统 —— 例如,服务器 —— 在通过互联网发送数据之前对数据进行加密。

另一方面,私钥是必须保密的。它用于用您的公钥解密加密的数据。没有它,就不可能解码你的加密信息。

这种方法允许您和服务器保持一个安全的通信通道来传输信息。

下面是当你通过 SSH 连接到服务器时在后台发生的事情:

  1. 客户端将公钥发送给服务器。
  2. 服务器要求客户端签署使用私钥加密的公钥加密的随机消息。
  3. 客户端对消息进行签名,并将结果转发给服务器。
  4. 客户端和服务器之间建立了安全连接。

重要的是要保证你的私钥的安全,并在任何情况下与任何人共享它们。它们是发送给你的所有信息的关键。

使用 GitHub 的 SSH 密钥

自 2021 年 8 月 13 日起,Github 不再接受命令行访问的密码认证。这意味着现在您需要通过个人访问令牌或使用 SSH 密钥 (更方便一些) 进行身份验证。

下面是当你尝试在终端上通过 HTTP 验证 GitHub 密码时会发生的事情:

Username for 'https://github.com': yourusername

Password for 'https://yourusername@github.com':

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.

remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.

fatal: Authentication failed for 'https://github.com/yourusername/repository.git/' 

GitHub 需要你的公钥来授权你通过 SSH 编辑你的任何回购。

让我们看看如何在本地生成 SSH 密钥。

如何在本地生成 SSH 密钥

现在您已经对 SSH 协议以及公钥和私钥之间的区别有了一些了解,是时候在您的机器和 GitHub repos 之间建立安全的 SSH 通道了。

在我们继续之前,您应该已经有了一个 GitHub 帐户,并且在您的系统中安装了一个 Git 终端 / 命令提示符。如果您运行的是 Windows,请确保安装了 Git bash,其中包含了本教程中所需要的所有工具。

OpenSSH 客户端是最流行的通过 SSH 连接的开源软件。你不需要担心你的操作系统,因为它在 Linux、macOS 和 Windows 10 上默认安装。

您需要在 Windows 或基于 unix 系统的终端上启动命令提示符来生成本地 SSH 密钥。通常,你可以在应用程序面板中搜索 “terminal”、“cmd” 或 “powershell”,然后点击出现的图标。

注意:如果您使用 Linux,大多数发行版都有快捷键 Ctrl + Alt + T 来打开终端。

完成这些操作后,您应该会看到一个类似下图的窗口。

执行如下命令生成本地 SSH 密钥对:

ssh-keygen -t ed25519 -C "example@xxx.com" 

现在是时候告诉你一个秘密了:没有人能真正记住这个命令!大多数开发者不得不每次都进行谷歌,因为:

  1. 这是一个很长的命令,带有容易忘记的随机数字。
  2. 我们很少使用它,所以大多数时候不值得把它放在记忆中。

但是,理解我们引入到终端中的每个命令是很重要的,所以让我们看看这个命令的每个部分的含义。

  • SSH -keygen: 用于创建一对新的 SSH 密钥的命令行工具。你可以在 ssh-keygen 的帮助下看到它的标志
  • -t ed25519: -t 标志用于指定创建密钥对数字签名的算法。如果您的系统支持它,ed25519 是您可以用来创建 SSH 密钥对的最佳算法。
  • -C "email": -C 标志用于在公钥的末尾提供一个自定义注释,它通常是密钥对创建者的电子邮件或标识。

在终端中输入命令后,必须输入要将密钥保存到其中的文件。默认情况下,它位于你的主目录,在一个名为 " 的隐藏文件夹中。嘘”,但是你可以把它改成任何你喜欢的。

然后,你会被要求添加一个密码短语到你的密钥对。这增加了额外的一层安全,如果,在任何时候,你的设备被破坏。添加密码短语并不是必须的,但它总是被推荐的。

整个过程是这样的:

img-294(SSH 注册机命令)

可以看到,这个命令在您选择的目录中生成两个文件 (通常是 ~/.ssh): 扩展名为.pub的公钥和没有扩展名的私有密钥。

稍后我们将向您展示如何向您的 GitHub 帐户添加公钥。

在 SSH -agent 中添加 “SSH Key”

ssh-agent 程序在后台运行,安全地保存您的私钥和密码,并使它们随时可以被 ssh 使用。这是一个很好的实用程序,每次你想连接到服务器时,它可以帮你节省输入密码。

因此,您将向该代理添加新的私钥。方法如下:

  1. 确保 ssh-agent 在后台运行。

    eval `ssh-agent`
    # Agent pid 334065 

    如果一切正常,您会收到类似的消息。这意味着 ssh-agent 在一个特定的进程 id (PID) 下运行。

  2. 将您的 SSH 私钥 (没有扩展名的私钥) 添加到 SSH -agent 中。

    ssh-add ~/.ssh/kinsta_keys 

    将 example_keys 替换为 SSH 密钥的名称。如果这是您创建的第一个键,那么它应该被命名为 “id_algorithm_used”,例如,id_ed25519。

为 GitHub 帐户添加 SSH Key

最后一步是将你的公钥添加到 GitHub 帐户中。只需遵循以下说明:

  1. 将 SSH 公钥复制到剪贴板。您可以使用文本编辑器打开文件所在的位置并复制它,或者使用终端显示它的内容。

    cat ~/.ssh/kinsta_keys.pub
    # ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJl3dIeudNqd0DPMRD6OIh65tjkxFNOtwGcWB2gCgPhk example@abc.com 
  1. 登录 GitHub,进入页面右上方,点击头像中的,选择 “设置”。
  2. 然后,在配置文件中,单击 SSH 和 GPG 键
  3. 单击 “新建 SSH” 键按钮。
  4. 在 GitHub 上给你的新 SSH 密钥一个标题 —— 通常,你将使用该密钥的设备。然后将该键粘贴到Key区域。
  5. 添加 SSH Key。

用 Push 测试 SSH 连接

现在是测试到目前为止所做的一切的时候了。您将使用 SSH 更改、提交并推送到现有的一个 repos,以确保正确建立连接。

对于我们的例子,我们将修改我们在 Git For Web Development 教程中创建的简单 HTML 站点。

首先,我们需要将存储库克隆到本地机器。我们可以到 GitHub 的 repo 页面,复制它提供的 SSH 地址。

然后,使用终端克隆:

git clone git@github.com:DaniDiazTech/HTML-site.git 

现在,让我们在 index.html 文件中添加 <h1>标签:

...
<div class="container my-2">
    <h1 class="text-center">A new title!<h1>
</div>

<div class="container my-3">
... 

为了保持编辑的简单性,我们没有涉及任何 JavaScript 或 CSS。

完成这些之后,提交这些更改:

git commit -am "Added a simple title" 

然后像往常一样把它们推送到 GitHub。

git push 

如果一切顺利,恭喜你!你刚刚在你的机器和 GitHub 之间建立了一个 SSH 连接。

管理不同 GitHub 帐号的多个 SSH 密钥

如果你有多个 GitHub 账户 —— 比方说一个用于你的个人项目,一个用于你的工作 —— 很难同时使用 SSH。通常需要单独的机器对不同的 GitHub 帐户进行身份验证。

但这可以通过配置 SSH 配置文件轻松解决。

让我们开始吧。

  1. 创建另一个 SSH 密钥对,并将其添加到您的其他 GitHub 帐户。请记住要将新键分配给的文件的名称。

    ssh-keygen -t ed25519 -C "work@email.com" 
  1. 创建 SSH 配置文件。配置文件告诉 ssh 程序它应该如何工作。默认情况下,配置文件可能不存在,所以在.ssh/ 文件夹中创建它:

    touch ~/.ssh/config 
  1. 修改 SSH 配置文件。打开配置文件并粘贴下面的代码:

    #Your day-to-day GitHub account
    
    Host github.com
      HostName github.com
      IdentityFile ~/.ssh/id_ed25519
      IdentitiesOnly yes
    
    # Work account
    Host github-work
      HostName github.com
      IdentityFile ~/.ssh/work_key_file
      IdentitiesOnly yes 

现在,每当你需要通过 SSH 使用你的工作或二级帐户进行身份验证时,你需要稍微调整 repo SSH 地址,从:

git@github.com:workaccount/project.git 

到:

git@github-work:workaccount/project.git 

总结

恭喜你 —— 你已经学到了大部分通过 SSH 连接到 GitHub 所需的实用知识!

本教程讨论了 SSH 协议的需要,公钥和私钥的区别,如何生成密钥,将它们添加到 GitHub,甚至为不同的 GitHub 帐户管理多个 SSH 密钥。请记住,除非您不想失去对所有内容的访问权,否则您的私钥需要保持这种方式:私有。

如何关闭 WordPress 登录界面的语言切换功能
禁用语言切换器会使你的默认语言成为登录页面上的唯一选项,但是用户仍然可以在他们的配置文件设置中更改语言。

乐客互联
by 乐客互联

如何关闭 WordPress 登录界面的语言切换功能

河北乐客互联
  •  55

如何关闭 WordPress 登录界面的语言切换功能

发布时间:2022-02-18 17:27:46


禁用语言切换器会使你的默认语言成为登录页面上的唯一选项,但是用户仍然可以在他们的配置文件设置中更改语言。

在本文中,我们将向你展示如何禁用 WordPress 登录屏幕上的语言切换下拉菜单。

为什么关闭 WordPress 登录界面的语言切换功能?

WordPress 5.9 的发布引入了一个新的下拉登录选项,用户可以在登录网站时选择一种新的语言。

如果网站上有不止一种活动语言,那么这个选项就会出现。

对于使用多种语言的网站和团队来说,这是一个很好的方法,这些团队的不同用户可能想要使用不同的语言访问 WordPress 仪表板。

但是,如果你希望保持登录页面简单,并且你的用户不需要频繁切换语言,那么删除它可以帮助清理登录页面。它还可以帮助你控制你的自定义登录页面设计。

注意:语言选择器不会使你的 WordPress 网站多语种,它只是翻译 WordPress 登录和密码重置页面和 WordPress 仪表盘。

说到这里,让我们向你展示如何在你的 WordPress 站点上禁用语言切换器。

方法 1. 使用 WordPress 插件禁用 WordPress 登录屏幕上的语言切换器

在 WordPress 登录界面上删除 WordPress 语言切换器的最初学者友好的方法是使用禁用登录语言切换器插件。

你需要做的第一件事是安装和激活插件。要了解更多细节,请参见我们关于如何安装 WordPress 插件的一步一步指南。

激活后,语言切换器选项将自动删除。没有其他需要配置的设置。

现在,当你转到登录屏幕时,你将看到没有语言切换器选项的标准登录屏幕。

方法 2. 在没有插件的情况下禁用 WordPress 登录语言切换器

另一种禁用语言切换器的方法是在 WordPress 中添加代码。如果你以前没有这样做过,那么看看我们如何在 WordPress 中复制和粘贴代码的指南。

然后,你可以将下面的代码片段添加到你的 functions.php 文件中,或者添加到特定站点的插件中,或者使用一个代码片段插件。

add_filter( 'login_display_language_dropdown', '__return_false' ); 

这段代码将自动禁用 WordPress 网站上的语言切换器。现在,当你访问登录页面时,切换语言的选项将消失。

如果将来需要启用语言切换,只需删除添加的代码行。

如何在 WordPress 中添加谷歌地图 (正确的方法)
你想在你的 WordPress 网站上显示谷歌地图吗?如果你正在经营本地业务,那么在你的站点上显示谷歌地图可以帮助用户轻松找到你的位置。它还可以帮助你提高网站的搜索引擎能见度,这样你就可以吸引更多的网站访问者。

乐客互联
by 乐客互联

如何在 WordPress 中添加谷歌地图 (正确的方法)

河北乐客互联
  •  77

如何在 WordPress 中添加谷歌地图 (正确的方法)

发布时间:2022-02-07 17:56:12


你想在你的 WordPress 网站上显示谷歌地图吗?如果你正在经营本地业务,那么在你的站点上显示谷歌地图可以帮助用户轻松找到你的位置。它还可以帮助你提高网站的搜索引擎能见度,这样你就可以吸引更多的网站访问者。

在本文中,我们将向你展示如何在 WordPress 中添加谷歌地图。

为什么要在 WordPress 中添加谷歌地图?

你知道谷歌地图是所有平台上最受欢迎的导航应用吗?

如果你有一个办公室或实体商店地址,那么将谷歌地图添加到你的 WordPress 网站可以让用户很容易地快速定位你的实体商店、餐馆或零售店。这有助于你吸引更多的客户和产生更多的业务。

不仅如此,嵌入谷歌地图还可以改善你的 WordPress SEO。根据谷歌的数据,46% 的搜索是在本地进行的。在 WordPress 中添加谷歌地图可以提升你的本地 SEO,并提高你在本地搜索中的能见度。

现在有两种方法在 WordPress 中嵌入谷歌地图,我们将向你展示这两种方法。

第二种方法的好处是它遵循所有本地 SEO 最佳实践,所以如果你使用它,那么谷歌将开始包含你在谷歌地图上的位置。它还会在本地搜索结果中显示你的企业信息,如名称、徽标、地址、电话号码、营业时间等。

如何在没有插件的 WordPress 中添加谷歌地图

如果你只是想在 WordPress 文章或页面中快速嵌入谷歌地图,那么你可以使用默认的 iFrame 方法。

只需去谷歌地图网站,并在搜索区域输入任何街道地址。

接下来,你需要点击共享图标,它会弹出一个选项发送位置链接或嵌入地图。你需要选择 Embed a map 选项。

在此之后,只需复制谷歌地图的 HTML 代码,然后打开希望嵌入地图的页面。在块编辑器中,你需要添加一个自定义 HTML 块。

现在,只需粘贴从谷歌地图复制的嵌入代码,然后更新或发布页面以预览更改。

这种方法适用于快速嵌入谷歌地图,但它不能给你带来最大的 SEO 好处。

如果你是一个小型企业,餐厅,或在线商店或一个或多个物理位置,那么我们建议使用下一个解决方案,以最大化你的本地 SEO 排名,因为它使用适当的开放图数据,以帮助你在谷歌排名更高。

如何添加谷歌地图 WordPress 与本地 SEO 插件

添加谷歌地图和优化本地 SEO 的最好方法是使用 All in One SEO (AIOSEO)。

这是 WordPress 最好的 SEO 插件,因为它可以帮助你获得更高的 SEO 排名,而无需编辑代码或雇佣开发人员。超过 300 万的专业人士使用 AIOSEO 来提高他们的搜索引擎排名。

在本教程中,我们将使用 AIOSEO Pro 版本,因为它包含了本地 SEO 功能和其他强大的优化选项。AIOSEO 也有一个免费版本,你可以使用它来开始优化你的搜索引擎网站。

首先,你需要在 WordPress 中安装并激活 AIOSEO 插件。

激活后,插件将启动安装向导。你可以点击 “Let ' s Get Started” 按钮来配置插件。如果你需要帮助,请参考我们关于如何在 WordPress 中正确设置 All in One SEO 的指南。

接下来,你可以从你的 WordPress 仪表板上切换到 All in One SEO»Local SEO。

然后点击 “激活本地 SEO” 按钮,开始配置本地设置。

一旦 WordPress 的本地 SEO 插件被激活,你可以在 AIOSEO 中添加一个位置或多个位置,并在谷歌地图上显示它们。我们将向你展示如何将两者添加到你的网站。

添加单个位置

要添加你的位置,业务信息,开放时间,和更多,首先你需要去 “位置” 标签下的所有在一个 SEO» 本地 SEO

如果你有一个单独的物理位置,那么保持 “多个位置” 选项设置为 No。

然后,向下滚动到 “地图” 部分,确定你的确切位置。

只需在 “输入查询” 字段中输入你的地址,谷歌地图将显示你的位置。

一旦你输入了你的位置,不要忘记点击 “保存更改” 按钮。

添加多个位置

如果你有一个以上的物理位置,那么你需要启用 “多个位置” 设置在 “位置” 标签在本地搜索引擎优化。

之后,一个新的位置菜单将出现在你的 WordPress 管理面板中。

继续,导航到位置,然后单击 “添加新” 按钮。

进入 WordPress 编辑器后,向下滚动到 “地图” 部分。

在这里,你可以在 “输入查询” 字段中输入你的地址。

在地图上输入你的位置并添加位置信息后,继续并点击 “发布” 按钮。

现在,你可以重复此步骤,并为你的业务添加任意数量的位置。

一旦你完成添加你的位置,你可以去 “地图” 标签回到 All in One SEO» 本地 SEO 菜单。

在这里,你必须输入一个谷歌地图 API 密钥。

现在,让我们看看如何为谷歌 Maps 创建 API 密钥。

创建谷歌地图 API 密钥

首先,你需要访问谷歌地图平台网站,并点击 “开始” 按钮。

使用谷歌账户登录后,你需要设置一个账单账户。

谷歌地图平台采用现收现付 (pay-as-you-go) 定价模式,他们为所有用户提供每月 300 美元的免费使用。对于大多数网站,这将很容易涵盖一个简单的地图嵌入,就像我们在本教程中创建的。

别担心,他们不会向你收取任何费用,除非你手动升级到付费账户。

要开始,继续并点击 “创建帐单帐户” 按钮。

接下来,你可以选择你的国家,并从下拉菜单中选择对你的组织的最佳描述。

选中此信息后,单击服务条款的复选框,然后单击 “继续” 按钮。

在接下来的屏幕上,你需要输入你的电话号码进行验证,然后点击 “发送代码” 按钮。

接下来,你将被问到关于你的组织以及如何使用谷歌地图平台的 4 个问题。

谷歌地图将询问你使用该平台的主要目标、你所在的行业、选择一个用例以及你的公司规模。

回答完这些问题后,继续并单击 “提交” 按钮。

现在,你将看到一个带有谷歌 Maps API 键的弹出窗口。

你可以将此密钥复制并保存到文本文件中以备将来使用。

现在你已经创建了一个谷歌地图 API 键,你需要回到你的 WordPress 仪表盘,在 AIOSEO 本地 SEO 设置中输入它。

在 WordPress 中配置谷歌地图设置

你现在可以从你的 WordPress 仪表板回到 All in One SEO»Local SEO,然后导航到 “地图” 标签。

继续并在 “API Key” 字段中输入谷歌地图 API Key。你将看到在 AIOSEO 地图预览,只要你添加的关键。

接下来,你可以向下滚动以编辑地图设置。

AIOSEO 允许你使用 Gutenberg 块、短代码、小部件或 PHP 代码显示谷歌地图。它还允许你选择不同的地图样式,并添加自定义标记到你的地图。

在 WordPress 中显示谷歌地图

接下来,你可以将谷歌 Maps 添加到任何 WordPress 文章或页面。首先,在你的网站上简单地编辑或添加一个新页面。

一旦你在块编辑器,点击顶部的 “+” 按钮,并添加 “AIOSEO 本地 - 地图” 块在页面的任何地方。

之后,你的谷歌地图将添加到页面。

AIOSEO 还可以让你从右边的选项编辑地图设置。例如,你可以显示标签和图标,添加自定义标记,并编辑地图的宽度和高度。

如果你有多个位置,那么你可以选择哪个位置来高亮显示从菜单中给出的选项在你的右边。

只需点击 “位置” 下拉菜单,并选择你的首选位置显示在你的网站。

一旦你对设置感到满意,就可以继续并发布页面。

现在你可以访问你的网站,查看运行中的谷歌地图。

你还可以将谷歌地图添加到站点的小部件部分,比如侧边栏或页脚。

首先,从你的 WordPress 管理面板进入外观 » 小部件。接下来,点击 “+” 按钮并添加 “AIOSEO Local - Map” 小部件块,在那里你想要显示你的位置。

之后,你可以编辑小部件设置。

例如,你可以添加标题、更改地图的宽度和高度、选择要显示的位置 (如果有多个位置) 以及编辑标签。

现在,当你更新你的网站时,你将在你的小部件区域中看到谷歌地图。

如何在 WordPress 中进行站点重定向 (初学者指南)
一个完整的网站重定向可以让你轻松地移动你的网站到一个新的域名而不失去搜索引擎排名。它有助于防止断开的链接,并提供流畅的用户体验。

乐客互联
by 乐客互联

如何在 WordPress 中进行站点重定向 (初学者指南)

河北乐客互联
  •  103

如何在 WordPress 中进行站点重定向 (初学者指南)

发布时间:2022-01-26 14:55:04


一个完整的网站重定向可以让你轻松地移动你的网站到一个新的域名而不失去搜索引擎排名。它有助于防止断开的链接,并提供流畅的用户体验。

在本文中,我们将向你展示如何在 WordPress 中进行完整的站点重定向。

为什么要在 WordPress 中进行全站点重定向?

一个完整的网站重定向允许你移动你的整个网站到一个新的位置,而不失去流量或搜索引擎排名。当用户在浏览器中输入你的网站的旧 URL 时,他们将自动重定向到新域名。

它还可以帮助你保持所有的反向链接,你已经建立多年,并直接他们到你的新网站域名。你的用户可以很容易地找到你在新域中的所有现有内容。

一个完整的网站重定向还可以防止坏链接或 404 错误的发生,这对你的 WordPress SEO 和用户体验是不利的。

从技术角度来看,一个完整的站点重定向就是 301 重定向。这种类型的重定向告诉搜索引擎页面已经永久移动到新位置。

这是最有益的类型重定向你的关键字排名和流量,它有助于传递你的旧域名的 SEO 权威到新域名。

也就是说,让我们看看如何在 WordPress 中设置一个完整的站点重定向。

编者注:在你设置一个 WordPress 站点重定向到一个新域名之前,你必须首先转移你所有的内容。你可以使用我们关于如何导出 WordPress 站点的教程,或者按照我们关于如何将 WordPress 迁移到一个新域 (同时不丢失 SEO) 的一步一步的指南。

如何在 WordPress 中进行站点重定向

建立一个完整站点的 WordPress 重定向最简单的方法是使用 All in One SEO (AIOSEO) 插件。它是 WordPress 中最好的 SEO 插件,被超过 300 万的专业人士使用。

AIOSEO 帮助你优化你的网站搜索引擎,而不需要聘请专家。另外,它提供了一个强大的重定向管理器,允许你正确地重定向用户到一个新的域名而不失去 SEO 排名,同时也跟踪 404 错误。

在本教程中,我们将使用 AIOSEO Pro 版本,因为它包含了重定向管理器。还有一个免费的 AIOSEO 版本,它拥有你需要开始优化你的 WordPress 网站以获得更多搜索引擎流量的所有基本功能。

首先,你需要安装并激活 AIOSEO 插件。要了解更多细节,请参阅我们如何安装 WordPress 插件的指南。

激活后,你可以从你的 WordPress 仪表板进入 All in One SEO»General Settings,并输入许可密钥。你可以在你的 AIOSEO 帐户区域找到密钥。

要在你的网站上设置 AIOSEO 并优化你的搜索网站,你可以启动设置向导并遵循屏幕上的说明。要了解更多细节,请参阅我们如何在 WordPress 中设置 AIOSEO 的指南。

接下来,你可以从 WordPress 管理面板跳转到 All in One SEO»Redirects,然后点击 “激活重定向” 按钮。

一旦插件是活动的,你可以去到 “全网站重定向” 标签下的重定向。

之后,点击 “重新定位站点” 按钮,可以显示更多选项。

现在你将看到一个字段,你可以在其中输入你的网站的新位置。

只需在 “重新定位到域名” 字段中输入新的 URL,然后单击 “保存更改” 按钮。这个插件会自动重定向除了 WordPress 登录页面和管理员以外的所有内容。

要检查你的重定向是否工作,只需在浏览器中输入旧的 URL,它应该会自动将你重定向到新域。

跟踪和修复 WordPress 中的坏链接

当你移动到一个新的域名时,你的网站上的一些链接可能会中断并导致 404 错误。然而,有了 AIOSEO,你可以很容易地在 WordPress 中跟踪坏掉的链接,并使用重定向管理器修复它们。

只需从 WordPress 管理区转到 All in One SEO»Redirects,然后点击 “设置” 选项卡。接下来,通过单击切换按钮启用 404 日志和重定向日志。

一旦你启用了这个功能,AIOSEO 就会开始在你的网站上记录 404 错误。首先请注意,日志中没有任何内容。它只在启用该选项后才开始记录 404 错误。

一旦有人在你的 WordPress 网站上触发了 404 错误,你可以通过重定向下的 “404 日志” 标签查看日志。

要修复任何损坏的链接,只需单击 “添加重定向” 选项。然后输入 “目标 URL” 字段下的新位置,并选择你的重定向类型。

添加这些详细信息后,只需单击 “添加重定向” 按钮。

在 JavaScript 中使用媒体查询的全面指南
大多数现代网站使用响应式网页设计技术,以确保它们看起来很好,具有可读性,并且在任何屏幕尺寸的设备上都可以使用,比如手机、平板电脑、笔记本电脑、台式 PC 显示器、电视、投影仪等等。

乐客互联
by 乐客互联

在 JavaScript 中使用媒体查询的全面指南

河北乐客互联
  •  140

在 JavaScript 中使用媒体查询的全面指南

发布时间:2021-12-06 15:33:26


大多数现代网站使用响应式网页设计技术,以确保它们看起来很好,具有可读性,并且在任何屏幕尺寸的设备上都可以使用,比如手机、平板电脑、笔记本电脑、台式 PC 显示器、电视、投影仪等等。

使用这些技术的网站有一个单一的模板,它修改布局响应屏幕尺寸:

  • 较小的屏幕通常显示线性的单列视图,其中通过单击 (汉堡包) 图标激活菜单等 UI 控件。
  • 更大的屏幕显示更多的信息,可能会有水平对齐的边栏。UI 控件 (如菜单项) 可能总是可见的,以便更容易访问。

响应式网页设计的一个重要部分是实现 CSS 或 JavaScript 媒体查询,以检测设备大小,并自动为该大小提供适当的设计。我们将讨论为什么这些查询很重要以及如何使用它们,但首先,让我们从总体上讨论响应式设计。

为什么响应式设计很重要?

提供单一的页面布局并期望它在任何地方都能工作是不可能的。

当移动电话在 21 世纪初首次获得基本的 web 访问时,网站所有者通常会创建两到三个独立的页面模板,大致基于移动和桌面视图。随着设备种类呈指数级增长,这变得越来越不切实际。

今天,有许多屏幕尺寸,从小型手表显示器到巨大的 8k 显示器,甚至更多。即使你只考虑移动电话,最近的设备也可以比许多低端笔记本电脑拥有更高的分辨率。

移动设备的使用也超过了台式电脑。除非你的站点有一组特定的用户,否则大多数人都可以通过智能手机访问站点。小屏幕设备不再是事后的想法,应该从一开始就考虑,尽管大多数网页设计师、开发人员和客户仍在使用标准 PC。

谷歌已经认识到移动设备的重要性。当网站可用并且在智能手机上表现良好时,它们在谷歌搜索中排名更高。好的内容仍然是至关重要的,但是一个加载缓慢的站点如果不能适应你的用户群的屏幕尺寸,可能会损害你的业务。

最后,考虑可访问性。一个适合所有人的网站,无论他们使用什么设备,都会有更多的用户。在许多国家,可访问性是一项法律要求,但即使不是在你所在的国家,你也要考虑到,更多的观众将带来更多的转换率和更高的盈利能力。

响应式设计是如何工作的?

响应式设计的基础是媒体查询:一种 CSS 技术,可以根据诸如输出类型 (屏幕、打印机甚至语音)、屏幕尺寸、显示长宽比、设备方向、颜色深度和指针精度等指标应用样式。媒体查询也可以考虑用户的偏好,包括减少动画,亮 / 暗模式,和更高的对比度。

我们所展示的示例只使用屏幕宽度来演示媒体查询,但是站点可以更加灵活。有关详细信息,请参阅 MDN 上的全部选项集。

媒体查询支持非常出色,并且已经在浏览器中存在了十多年。只有 IE8 及以下版本不支持。它们忽略了媒体查询应用的样式,但这有时是有好处的 (请参阅下面的最佳实践部分)。

有三种使用媒体查询应用样式的标准方法。第一种方法在 HTML 代码中加载特定的样式表。例如,当设备的屏幕宽度至少为 800 像素时,下面的标签加载 width .css 样式表:

<link rel="stylesheet" media="screen and (min-width: 800px)" href="wide.css" /> 

其次,样式表可以使用 @import at-rule 有条件地加载到 CSS 文件中:

/* main.css */
@import url('wide.css') screen and (min-width: 800px); 

注意,@import 应该避免使用,因为每个导入的 CSS 文件都是渲染阻塞的。HTML <link>标签是并行下载的,而 @import 是串行下载文件的。

更典型的是,你将使用修改特定样式的 @media CSS at-rule 块在样式表中应用媒体查询。例如:

/* default styles */
main {
  width: 400px;
}

/* styles applied when screen has a width of at least 800px */
@media screen and (min-width: 800px) {
  main {
    width: 760px;
  }
} 

开发人员可以应用任何必要的媒体查询规则来适应站点的布局。

媒体查询最佳实践

当媒体查询最初设计出来时,许多网站选择了一套严格固定的布局。这在概念上更容易设计和编写代码,因为它有效地复制了有限的一组页面模板。例如:

  • 小于 600px 的屏幕使用 400px 的移动布局。
  • 屏幕宽度在 600px 和 999px 之间,使用 600px 宽的平板布局。
  • 大于 1000px 的屏幕宽度使用 1000px 的桌面布局。
  • 这项技术存在缺陷。在非常小和非常大的屏幕上,结果可能看起来很差,并且由于设备和屏幕大小随时间变化,需要进行 CSS 维护。

一个更好的选择是使用移动优先流体设计,带有断点,以适应特定大小的布局。本质上,默认布局使用最简单的小屏幕样式,将元素放在垂直的线性块中。

例如:<article><aside><main>容器中:

/* default small-screen device */
main {
  width: 100%;
}

article, aside {
  width: 100%;
  padding: 2em;
} 

当支持媒体查询并且屏幕超过特定宽度时,比如 500px,<article><aside>元素可以水平放置。这个例子使用了一个 CSS 网格,主要内容使用大约三分之二的宽度,次要内容使用剩余的三分之一:

/* larger device */
@media (min-width: 500px) {
  main {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 2em;
  }

  article, aside {
    width: auto;
    padding: 0;
  }
} 

媒体查询选择

响应式设计也可以在现代 CSS 中使用更新的属性来实现,这些属性本质上适应布局,而无需检查视口尺寸。选项包括:

  • calcmin-widthmax-widthmin-heightmax-height 和更新的 clamp 属性都可以根据已知的限制和可用空间来定义元素的尺寸。
  • 视口单元 vwvhvminvmax 可以根据屏幕尺寸分数来确定元素的大小。
  • 文本可以显示在 CSS 列,出现或消失的空间允许。
  • 可以使用 min-contentfit-contentmax-content 维度来根据子元素的大小调整元素的大小。
  • 当元素开始超过可用空间时,CSS flexbox 可以包装或不包装元素。
  • CSS 网格元素可以按比例比例缩放。repeat CSS 函数可以与 minmaxauto-fitauto-fill 一起使用,以分配可用空间。
  • 新的 (目前) 实验性的 CSS 容器查询可以对布局中组件可用的部分空间作出反应。

这些选项超出了本文的范围,但它们通常比只响应屏幕尺寸的粗糙媒体查询更实用。如果你可以在没有媒体查询的情况下实现布局,它可能会使用更少的代码,更高效,并且需要更少的维护。

也就是说,在有些情况下,媒体查询仍然是唯一可行的布局选择。当你需要考虑其他屏幕因素,如长宽比、设备方向、颜色深度、指针精度或用户偏好 (如减少动画和明暗模式) 时,它们仍然是必不可少的。

你需要 JavaScript 中的媒体查询吗?

到目前为止,我们主要讨论的是 CSS。这是因为大多数布局问题都可以 —— 也应该 —— 在 CSS 中单独解决。

然而,在某些情况下,使用 JavaScript 媒体查询而不是 CSS 是可行的,例如:

  • 组件 (如菜单) 在大小屏幕上具有不同的功能。
  • 从纵向 / 横向切换会影响 web 应用的功能。
  • 触屏游戏必须改变画布布局或调整控制按钮。
  • 网页应用遵循用户偏好,如暗 / 亮模式、简化动画、触摸粗糙度等。

下面几节演示了在 JavaScript 中使用媒体查询 (或类似媒体查询的选项) 的三种方法。所有的例子都返回一个状态字符串:

  • 小视图 = 宽度低于 400 像素的屏幕;
  • 中等视图 = 宽度在 400 到 799 像素之间的屏幕;
  • 大视图 = 宽度为 800 像素或更多的屏幕。

选项 1: 监视视口尺寸

在媒体查询实现之前的黑暗日子里,这是唯一的选择。JavaScript 会监听浏览器的 “resize” 事件,分析 viewport 维度使用 window.innerWidthwindow.innerHeight (或旧 IEs 中的 document.body.clientWidthdocument.body.clientHeight),并相应地做出反应。

这段代码将计算出的小、中或大字符串输出到控制台:

const
  screen = {
    small: 0,
    medium: 400,
    large: 800
  };

// observe window resize
window.addEventListener('resize', resizeHandler);

// initial call
resizeHandler();

// calculate size
function resizeHandler() {

  // get window width
  const iw = window.innerWidth;
 
  // determine named size
  let size = null;
  for (let s in screen) {
    if (iw >= screen[s]) size = s;
  }

  console.log(size);
} 

上面的例子检查浏览器调整大小时视口的大小;决定它是小,中,还是大;并将其设置为 body 元素上的一个类,这会改变背景颜色。

这种方法的优点包括:

  • 它可以在所有可以运行 JavaScript 的浏览器中工作 —— 甚至是古老的应用程序。
  • 你可以捕捉到准确的维度,并做出相应的反应。

缺点:

  • 这是一种需要大量代码的老技术。
  • 是不是太精确了?你真的需要知道宽度是 966px 还是 967px 吗?
  • 你可能需要手动将维度匹配到相应的 CSS 媒体查询。
  • 用户可以快速调整浏览器的大小,使处理程序函数每次都重新运行。这可能会通过限制事件来重载较旧和较慢的浏览器。它只能每 500 毫秒触发一次。

总之,除非你有非常具体和复杂的大小要求,否则不要监视视口尺寸。

选项 2: 定义和监视 CSS 自定义属性 (变量)

这是一种稍微不同寻常的技术,它在触发媒体查询时改变 CSS 中自定义属性字符串的值。所有现代浏览器都支持自定义属性 (IE 除外)。

在下面的例子中,在 @media 代码块中 ——screen 自定义属性被设置为 "small", "medium" 或 "large":

body {
  --screen: "small";
  background-color: #cff;
  text-align: center;
}

@media (min-width: 400px) {
 
  body {
    --screen: "medium";
    background-color: #fcf;
  }
 
}

@media (min-width: 800px) {
 
  body {
    --screen: "large";
    background-color: #ffc;
  }
 
} 

该值可以在 CSS 中使用伪元素单独输出 (但注意它必须包含在单引号或双引号中):

p::before {
  content: var(--screen);
} 

你可以使用 JavaScript 获取自定义属性值:

const screen = getComputedStyle(window.body).getPropertyValue('--screen'); 

但这并不是全部,因为返回值包含 CSS 中冒号之后定义的所有空格和引号字符。字符串将是 ' "large" ',因此需要进行一些整理:

// returns small, medium, or large in a string
const screen = getComputedStyle(window.body)
                 .getPropertyValue('--screen')
                 .replace(/\W/g, ''); 

你可以在这里查看一个工作演示。(如果使用桌面浏览器,请在新窗口中打开此链接,以便更容易调整大小。移动用户可以旋转设备。)

该示例每两秒检查一次 CSS 值。它需要一些 JavaScript 代码,但是有必要对更改进行轮询 — 你不能使用 CSS 自动检测自定义属性值的更改。

也不可能将值写入伪元素并使用 DOM 突变观察者检测变化。伪元素不是 DOM 的 “真正” 部分!

选项 3: 使用 matchMedia API

matchMedia API 有点不寻常,但它允许你实现一个 JavaScript 媒体查询。大多数 IE10 以上的浏览器都支持它。构造函数返回一个 MediaQueryList 对象,该对象具有一个 match 属性,对于其特定的媒体查询,该属性的计算结果为 true 或 false。

以下代码在浏览器视口宽度为 800px 或更大时输出 true

const mqLarge  = window.matchMedia( '(min-width: 800px)' );
console.log( mqLarge.matches ); 

可以将 “更改” 事件应用于 MediaQueryList 对象。每当 matches 属性的状态发生变化时,就会触发此操作:它在之前为 false (低于 800px) 的情况下变成 true (超过 800px),反之亦然。

接收处理函数传递 MediaQueryList 对象作为第一个参数:

const mqLarge  = window.matchMedia( '(min-width: 800px)' );
mqLarge.addEventListener('change', mqHandler);

// media query handler function
function mqHandler(e) {
 
  console.log(
    e.matches ? 'large' : 'not large'
  );
 
} 

处理程序只在匹配属性更改时运行。它不会在页面初始加载时运行,所以你可以直接调用该函数来确定启动状态:

// initial state
mqHandler(mqLarge); 

当你在两个不同的状态之间移动时,API 工作得很好。要分析三种或更多的状态,如小型、中型和大型,需要更多的代码。

首先定义一个带有关联 matchMedia 对象的屏幕状态对象:

const
  screen = {
    small : null,
    medium: window.matchMedia( '(min-width: 400px)' ),
    large : window.matchMedia( '(min-width: 800px)' )
  }; 

没有必要在小状态上定义 matchMedia 对象,因为当在 smallsmall 之间移动时,medium 事件处理程序将触发。

然后可以为 mediumlarge 事件设置事件侦听器。它们调用相同的 mqHandler () 处理函数:

// media query change events
for (let [scr, mq] of Object.entries(screen)) {
  if (mq) mq.addEventListener('change', mqHandler);
} 

处理程序函数必须检查所有 MediaQueryList 对象,以确定当前是smallmedium的还是large。匹配必须按大小顺序运行,因为 999px 的宽度将匹配mediumlarge - 只有large的应该 “获胜”:

// media query handler function
function mqHandler() {
 
  let size = null;
  for (let [scr, mq] of Object.entries(screen)) {
    if (!mq || mq.matches) size = scr;
  }
 
  console.log(size);
 
} 

你可以在这里查看一个工作演示。(如果使用桌面浏览器,请在新窗口中打开此链接,以便更容易调整大小。移动用户可以旋转设备。)

示例使用如下:

  1. 在 CSS 中设置和显示自定义属性的媒体查询 (如上面的选项 2 所示)。
  2. 在 matchMedia 对象中使用相同的媒体查询来监控 JavaScript 中的维度变化。JavaScript 输出将在同一时间发生改变。

使用 matchMediaAPI 的主要优点是:

  • 它是事件驱动的,在处理媒体查询更改时效率很高。
  • 它使用与 CSS 相同的媒体查询字符串。

缺点:

  • 处理两个或多个媒体查询需要更多的思考和代码逻辑。
  • 你可能需要在 CSS 和 JavaScript 代码中复制媒体查询字符串。如果不保持它们同步,可能会导致错误。

为了避免媒体查询不匹配,你可以考虑在构建系统中使用设计标记。媒体查询字符串在 JSON (或类似的) 文件中定义,并在构建时将值插入 CSS 和 JavaScript 代码中。

总结

总之,matchMedia API 可能是实现 JavaScript 媒体查询的最有效和实用的方法。它有一些怪癖,但它是大多数情况下的最佳选择。

固有的 CSS 大小选择越来越可行,但媒体查询仍然是大多数网站响应式网页设计的基础。他们总是需要处理更复杂的布局和用户偏好,如亮 / 暗模式。

在可能的情况下,尽量只对 CSS 进行媒体查询。当你不得不冒险进入 JavaScript 领域时,matchMedia API 为 JavaScript 媒体查询组件提供了额外的控制,这些组件需要额外的基于维度的功能。

创建网站时的 7 大错误
拥有一个独特和有创意的网站来吸引用户不再是一个选择。乏味和老式的网站不再可行,因为它们不会引起用户的注意,也不会让用户想要进一步探索。访客应该有独特的体验。一个功能性和整洁的网站是必不可少的,通常会决定你客户的体验。

乐客互联
by 乐客互联

创建网站时的 7 大错误

河北乐客互联
  •  203

创建网站时的 7 大错误

发布时间:2021-07-08 17:01:44


拥有一个独特和有创意的网站来吸引用户不再是一个选择。乏味和老式的网站不再可行,因为它们不会引起用户的注意,也不会让用户想要进一步探索。访客应该有独特的体验。一个功能性和整洁的网站是必不可少的,通常会决定你客户的体验。

一个好的网站会带来更多的访问者,在搜索引擎中的排名也会更高。另外,一个网站可以既美观又实用。现在,你不需要牺牲一个来换取另一个,因为两者都是可行的。

一般人会在 7 秒内对你的网站做出判断。所以,在这么短的时间内,你的网站需要获得并保持他们的注意力。如果你不能在这段时间内获得他们的注意,通常情况下用户会失去兴趣并继续前进。

值得庆幸的是,这篇文章可以帮助你,教你在创建网站时不要做什么。我们将帮助你避免一些常见的错误和你可能没有想到的微妙问题。即使你的网站已经建好了,也要看看你是否犯过这些错误。现在做出改变还不晚。

一次性提供太多信息

我们都访问过一个网站,并完全被信息淹没。当一个网站同时呈现太多内容时,用户就会从你想要传达的内容中分心。给用户大量的信息、文字或图片会让他们感到困惑。

试着把你的网站适当地分类,把所有东西都分成一个区域。这将避免任何困惑,并会让你的访客高兴。

显示的内容过少

这个错误与第一个错误完全相反。当一个网站几乎没有信息显示时,也会让用户感到困惑。极简主义现在很流行,但这一趋势也有一个适当的限度。

当访问者访问你的网站时,应该向他们展示必要的信息。用户想知道你是谁,你能给他们提供什么。然后,看了这个,他们会进一步探索你的网站。这时你就可以向他们展示你所做的更详细的信息。

没有进行移动适配

我们都有过尝试在手机上浏览一个网站,却没有为小屏幕进行适当优化的经历。这是非常令人沮丧和头痛的,因为在 2019 年,预计你的网站将是移动友好的。

50% 的人表示,如果一个网站对手机不友好,他们就不太可能使用它。即使这些用户喜欢你的业务,他们也会选择使用移动友好的竞争对手的网站。要避免这种错误,因为这不仅会让用户感到挫败,还会让他们直接找你的竞争对手。

网站上的信息难以找到

当重要信息难以找到时,用户会感到困惑。一个网站应该有重要的信息,如工作时间,地点,经常问的问题,电话号码,电子邮件和关于容易找到的地方。

把这些信息放在搜索栏或你网站的标题附近可以让你很容易找到这些信息。掩盖这些细节是你想要避免的一个主要错误。

弹出窗口和过度使用干扰

每个人都讨厌第一次访问一个网站,然后被一个又一个的弹出窗口炸开。要求用户订阅你的时事通讯,创建一个帐户,禁用他们的广告拦截程序,以及许多其他的事情都是立即关闭用户。

谷歌最近警告用户避免这类弹出窗口和广告,因为它们的侵扰。这是一个很常见的错误。你仍然可以在你的网站上做这些事情,但要谨慎,确保它不会对用户体验产生负面影响。

使用了太多的滑块

幻灯片可能是一种向用户展示信息的有效方式,但最终应该避免使用。它们往往会扰乱用户的注意力。例如,有人可能正在阅读一张幻灯片上的信息,然后它突然跳转到下一张幻灯片上。

这将从你的网站访问者中删除控件。用户应该始终控制他们正在做的事情。你的网站不是一个中学历史的展示,所以避免在你的网站上犯幻灯片错误。

网站的速度

快速的网站是非常重要的。正如我上面提到的,你只有 7 秒钟的时间来吸引用户的注意。如果你的网页不能在这 7 秒内快速加载,那么你可能会失去一个访问者或潜在客户。

当涉及到性能时,有些事情是你无法控制的,比如用户的网速和所使用的设备。但你能控制的很简单。用内容和长视频超载你的主页会影响加载速度。要避免这种错误,请在创建网站时保持简单。

一切都与用户有关

建立一个伟大的网站似乎是一项艰巨的任务。正如我们所看到的,设计师有许多潜在的错误。

然而,当你把用户放在心上时,你就会知道你走的是正确的道路。确保你的网站易于使用,可访问和移动友好。这是让自己走向成功的最佳方式。

如何将 WordPress 文章分成多个页面
你是否在寻找一种方法将长文章分成不同的页面?这样做可以把冗长的内容分成几个页面可以让访问者更容易地阅读文章和浏览不同的部分。

乐客互联
by 乐客互联

如何将 WordPress 文章分成多个页面

河北乐客互联
  •  225

如何将 WordPress 文章分成多个页面

发布时间:2021-05-19 14:44:34


你是否在寻找一种方法将长文章分成不同的页面?这样做可以把冗长的内容分成几个页面可以让访问者更容易地阅读文章和浏览不同的部分。

在本文中,我们将逐步向你展示如何将 WordPress 文章拆分为多个页面。

为什么把 WordPress 文章分成多个页面?

如果你的博客文章或指南很长,那么设置文章分页可以提高内容的可读性。

它有助于将文章分成不同的部分,并将它们分成多个页面。这样,访问者可以很容易地消化你的内容,并阅读任何他们感兴趣的部分。

拆分 WordPress 帖子的另一个好处是,它可以帮助增加页面访问量和广告收入。

话虽如此,让我们来看看如何将 WordPress 文章拆分为多个页面。我们将介绍如何在没有插件和使用 WordPress 插件的情况下将你的 WordPress 文章分成多个页面。

方法一:不使用插件的情况拆分文章页面

设置分页最简单的方法是在你的 WordPress 内容编辑器中使用 “分页” 块。你不需要 WordPress 插件来把你的文章分成多个页面。

首先,在你的 WordPress 网站上编辑或添加一篇新文章。在那之后,点击加号 (+) 按钮,你想要拆分你的内容,并添加一个 “分页” 块。

使用区块编辑器插入分页符

现在,你应该在内容中看到一个分页行,以指示分页将出现在何处。

添加分页符后的效果

如果你使用的是经典的编辑器,那么请使用<!-- nextpage -- > 标签来分割你的内容。

只需编辑任何博客文章,并进入 “文本” 视图,进入你想要拆分内容的标签。

你也可以使用键盘上的 Alt + Shift + P 键插入分页符。要做到这一点,转到 “Visual” 视图,并按下键盘快捷键,在你想要添加分页符的地方。

之后,你可以预览和发布博客文章。现在你将在内容的底部看到分页。

方法二:使用插件将 WordPress 文章分页

另一种将冗长的内容分解成不同页面的方法是使用 WordPress 插件。这种方法的好处是,当文章满足特定条件时,它会自动对文章进行分页。

对于这个方法,我们将使用免费的自动分页帖子插件,因为它很容易使用,并且适用于任何 WordPress 主题。

首先,在你的 WordPress 网站上安装并激活 Automatically Paginate Posts 插件。

一旦插件在你的网站上激活,进入设置 » 阅读,并向下滚动到 “自动分页帖子” 部分。

你可以选择将文章类型拆分为不同的页面。然后,选择是根据总页数还是每页大约字数来拆分文章。

在设置中设置分页数量

接下来,点击 “Save Change” 按钮来存储你的设置。

这个插件会根据你的设置自动分割你的内容。然而,你也可以在使用插件时手动添加分页符到你的内容中。

在 WordPress 中执行数据库搜索和替换的 3 种方法
如果你使用的是 Google 文档、Google 电子表格和微软 Word 文档,你肯定熟悉 "搜索和替换" 功能。当你尝试在多个页面上查找重复的单词或短语,然后删除或使用另一个单词或短语而不是此单词或短语时,就会发生这种情况。

乐客互联
by 乐客互联

在 WordPress 中执行数据库搜索和替换的 3 种方法

河北乐客互联
  •  189

在 WordPress 中执行数据库搜索和替换的 3 种方法

发布时间:2021-04-29 15:58:33


如果你使用的是 Google 文档、Google 电子表格和微软 Word 文档,你肯定熟悉 "搜索和替换" 功能。当你尝试在多个页面上查找重复的单词或短语,然后删除或使用另一个单词或短语而不是此单词或短语时,就会发生这种情况。

与上述工具类似,WordPress 还允许你搜索和替换网站上的数据库。你可以快速找到文本、图像,甚至 URL,并将其替换为新的文本、图像或 URL。

事实上,WordPress 不会让用户轻松过滤和替换数据。你必须使用代码或从第三方工具寻求帮助。因此,我们将此教程放在一起,清楚地向你展示如何在 WordPress 网站上执行数据库搜索和更换。在深入了解详细指南之前,我们想细分一些常见案例,说明何时需要应用此强大的功能。

你应该何时搜索和替换 WordPress 数据库?

  • 改进 SEO- 你有几个关于某个主题的帖子。但是,它们不会在任何地方排名,因为你的目标是一个从低到低的搜索量关键字。建议用具有相同含义的高音量关键字替换此关键字。因此,Google 可以轻松地澄清你的主要内容,并更好地对内容进行排名。
  • 纠正拼写错误或语法错误–在发表之前,每篇文章都必须经过仔细的审查和编辑。但是,你的团队有时会犯反复使用错误词而不注意的错误。一旦你发现,此错误已在你的网站上发生。不过,一个接一个的修复是很费时的。这是搜索和替换功能派上用场的地方。
  • 更换未受保护的网址 - 这种情况似乎很少见,但它仍然以某种方式发生。在保护已嵌入内容的媒体文件时,其原始 URL 将更改为受保护的链接。如果此文件以前在其他帖子中的众多帖子中使用,你也必须更新它们。搜索和替换解决方案使你能够查找特定文件的未受保护链接,并将其替换为受保护的链接。

在 WordPress 中搜索和替换数据库的方法

在 WordPress 中搜索和替换方法时,你有多种选择。事实上,你可以使用 "Ctrl + F" 键盘组合来发现页面上的文本。如果你有数百页需要处理,该怎么办?

手动浏览每一页,发布和编辑每一个页面都会使你疯狂和疲惫。你有时也会错过一些事件。最重要的是,不可能使用 "Ctrl +F" 来查找链接。

除此之外,如果你决定手提更新数据库,请小心,因为它涉及大量数据表。对于拥有专业编码知识的开发人员来说,这可能是一个挑战。

此外,触摸数据库可能会危及你的网站性能。只要稍有不正确的更改,就会产生潜在的冲突,并损坏你的数据库。

我们建议使用插件来简化流程。

使用 Better Search Replace 插件

该插件超过 100 万个具有 4.5 星级评级的活动安装,你可以想象 "更好的搜索替换" 在查找数据并将其替换为其他数据方面是多么强大。

插件将访问你选定的表,然后进行查询,以找出应该更新多少字段。与其他插件不同,它不需要访问你的 WordPress 服务器。

简单的"设置"页面使你能够轻松配置 WordPress 搜索并替换功能。要开始使用插件,请参考以下方法:

  1. 要在WordPress仪表板中添加新的插件 
  2. 在关键字框中键入 "Better Search Replace"
  3. 安装并激活插件
  4. 前往工具并选择Better Search Replace选项
  5. 输入你打算查找的文本或 URL 以及你想要在搜索中显示的文本或 URL
  6. 选择要替换的数据库表
  7. 点击运行搜索 / 替换

该插件允许你从主站点仪表板或仅在单个子站点的所有表上运行 "搜索" 和 "替换"。

执行搜索和替换时要小心,因为如果你输入了不正确的字符串,则会损坏 WordPress 数据库。在采取任何行动之前,你还必须备份数据。

你有时会在运行搜索时看到白色屏幕,并使用更好的搜索替换插件进行更换。要解决这个问题,只需前往 "设置" 选项卡并降低最大页面大小级别即可。

使用 MySQL 查询进行文字新闻搜索和替换

此方法适合那些对代码感到满意且不喜欢将插件添加到 WordPress 网站的人。要做到这一点,你需要:

  1. 登录到你的 c 面板托管,并在数据库部分选择 phpMy 管理员

  2. 单击你的 WordPress 数据库名称,然后点击 SQL

  3. 以以下格式输入 SQL 查询

    update TABLE_NAME set FIELD_NAME =
    replace(FIELD_NAME, 'Text to find', 'text to replace with'); 
  4. 用特定的 WordPress 表和文件名称替换 TABLE_NAME 和 FIELD_NAME

  5. 点击继续

在浏览器中取消阻止剪贴板访问
在过去的几年中,浏览器已用于 document.execCommand() 剪贴板交互。尽管得到了广泛的支持,但这种剪切和粘贴方法还是要付出代价的:剪贴板访问是同步的,并且只能读写 DOM。

乐客互联
by 乐客互联

在浏览器中取消阻止剪贴板访问

河北乐客互联
  •  205

在浏览器中取消阻止剪贴板访问

发布时间:2021-01-18 13:46:21


在过去的几年中,浏览器已用于 document.execCommand() 剪贴板交互。尽管得到了广泛的支持,但这种剪切和粘贴方法还是要付出代价的:剪贴板访问是同步的,并且只能读写 DOM。

这对于一小段文字来说很好,但是在很多情况下,阻止页面进行剪贴板传输是一种糟糕的体验。在内容可以安全粘贴之前,可能需要耗时的清理或图像解码。浏览器可能需要从粘贴的文档中加载或内联链接资源。在磁盘或网络上等待时会阻塞页面。想象一下,将权限添加到混合中,要求浏览器在请求剪贴板访问时阻止页面。同时,document.execCommand()用于剪贴板交互的权限 被松散定义,并且在浏览器之间有所不同。

在 异步剪贴板 API 解决了这些问题,提供了一个良好定义的权限模型不阻止页面。Safari 最近宣布 在 13.1 版中支持它。这样,主要的浏览器就具有基本的支持水平。在撰写本文时,Firefox 仅支持文本。在某些浏览器中,图像支持仅限于 PNG。如果你对使用 API感兴趣, 请 在继续之前查阅浏览器支持表。

异步剪贴板 API 仅限于处理文本和图像。Chrome 84 引入了一项实验性功能,该功能使剪贴板可以处理任意数据类型。

复制:将数据写入到剪贴板

writeText()

要将文本复制到剪贴板,请调用writeText()。由于此 API 是异步的,因此该writeText()函数将返回一个 Promise,该 Promise 将根据传递的文本是否被成功复制来解决或拒绝:

async function copyPageUrl() {
  try {
    await navigator.clipboard.writeText(location.href);
    console.log('Page URL copied to clipboard');
  } catch (err) {
    console.error('Failed to copy: ', err);
  }
} 

write()

实际上,writeText()这只是通用write() 方法的一种便捷方法,它还允许你将图像复制到剪贴板。像一样writeText(),它是异步的并返回 Promise。

要将图像写入剪贴板,你需要将图像作为 blob。一种实现方法是使用fetch(),从服务器请求图像,然后调用 blob()响应。

由于多种原因,可能不希望或不可能从服务器请求图像。幸运的是,你还可以将图像绘制到画布上并调用 canvas 的 toBlob() 方法。

接下来,将ClipboardItem对象数组作为参数传递给write() 方法。目前,你一次只能传送一张图片,但我们希望将来增加对多张图片的支持。ClipboardItem将图像的 MIME 类型作为键并将 Blob 作为值的对象。对于从fetch()或获取的 Blob 对象canvas.toBlob(),该blob.type属性自动包含图像的正确 MIME 类型。

try {
  const imgURL = '/images/generic/file.png';
  const data = await fetch(imgURL);
  const blob = await data.blob();
  await navigator.clipboard.write([
    new ClipboardItem({
      [blob.type]: blob
    })
  ]);
  console.log('Image copied.');
} catch (err) {
  console.error(err.name, err.message);
} 

复制事件

在用户启动剪贴板副本的情况下,非文本数据将作为 Blob 提供给你。该 copy事件 包括一个clipboardData属性,该属性具有已采用正确格式的项目,从而无需手动创建 Blob。呼叫preventDefault()以防止默认行为因你自己的逻辑而异,然后将内容复制到剪贴板。在此示例中未涵盖的是当不支持剪贴板 API 时如何回退到较早的 API。

document.addEventListener('copy', async (e) => {
    e.preventDefault();
    try {
      let clipboardItems = [];
      for (const item of e.clipboardData.items) {
        if (!item.type.startsWith('image/')) {
          continue;
        }
        clipboardItems.push(
          new ClipboardItem({
            [item.type]: item,
          })
        );
        await navigator.clipboard.write(clipboardItems);
        console.log('Image copied.');
      }
    } catch (err) {
      console.error(err.name, err.message);
    }
  }); 

粘贴:从剪贴板中读取数据

readText()

要从剪贴板中读取文本,请致电navigator.clipboard.readText()并等待返回的 Promise 解决:

async function getClipboardContents() {
  try {
    const text = await navigator.clipboard.readText();
    console.log('Pasted content: ', text);
  } catch (err) {
    console.error('Failed to read clipboard contents: ', err);
  }
} 

read()

navigator.clipboard.read()方法也是异步的,并返回 Promise。要从剪贴板读取图像,请获取 ClipboardItem 对象列表 ,然后对其进行迭代。

每个都ClipboardItem可以将其内容保留为不同的类型,因此你需要再次使用for...of循环来遍历类型列表。对于每种类型,请getType()以当前类型为参数调用该方法以获得相应的 Blob。和以前一样,此代码不与图像绑定,并且可以与其他将来的文件类型一起使用。

async function getClipboardContents() {
  try {
    const clipboardItems = await navigator.clipboard.read();
    for (const clipboardItem of clipboardItems) {
      for (const type of clipboardItem.types) {
        const blob = await clipboardItem.getType(type);
        console.log(URL.createObjectURL(blob));
      }
    }
  } catch (err) {
    console.error(err.name, err.message);
  }
} 

paste 事件

如前所述,已经计划引入事件以与 Clipboard API 一起使用,但是现在你可以使用现有paste事件。它与用于读取剪贴板文本的新异步方法很好地配合使用。与copy活动一样,不要忘记致电preventDefault()

document.addEventListener('paste', async (e) => {
  e.preventDefault();
  const text = await navigator.clipboard.readText();
  console.log('Pasted text: ', text);
}); 

处理多种文件类型

大多数实现将多种数据格式放在剪贴板上,以便进行单个剪切或复制操作。这样做的原因有两个:作为应用程序开发人员,你无法了解用户要将文本或图像复制到的应用程序的功能,并且许多应用程序都支持将结构化数据粘贴为纯文本。这是通过 “编辑” 菜单项呈现给用户的,该菜单项的名称为 “粘贴和匹配样式” 或 “不格式化”

以下示例显示了如何执行此操作。此示例用于fetch()获取图像数据。

function copy() {
  const image = await fetch('kitten.png');
  const text = new Blob(['Cute sleeping kitten'], {type: 'text/plain'});
  const item = new ClipboardItem({
    'text/plain': text,
    'image/png': image
  });
  await navigator.clipboard.write([item]);
} 

安全性和权限

剪贴板访问一直是浏览器的安全隐患。没有适当的权限,页面可能会以静默方式将所有形式的恶意内容复制到用户的剪贴板,粘贴时会产生灾难性的结果。

剪贴板 API 的权限提示

使网页不受限制地对剪贴板具有读取权限,这会更加麻烦。用户通常将诸如密码和个人详细信息之类的敏感信息复制到剪贴板,然后在用户不知情的情况下,任何页面都可以读取这些信息。

与许多新 API 一样,剪贴板 API 仅支持通过 HTTPS 服务的页面。为防止滥用,仅当页面为活动选项卡时才允许剪贴板访问。活动选项卡中的页面可以在不请求权限的情况下写入剪贴板,但是从剪贴板中读取始终需要权限。

复制和粘贴的权限已添加到 Permissions API 中。clipboard-write当页面是活动选项卡时,权限会自动授予它们。clipboard-read必须请求该权限,你可以通过尝试从剪贴板读取数据来执行此操作。下面的代码显示了后者:

const queryOpts = { name: 'clipboard-read', allowWithoutGesture: false };
const permissionStatus = await navigator.permissions.query(queryOpts);
// Will be 'granted', 'denied' or 'prompt':
console.log(permissionStatus.state);

// Listen for changes to the permission state
permissionStatus.onchange = () => {
  console.log(permissionStatus.state);
}; 

你还可以使用该allowWithoutGesture选项控制是否需要用户手势来调用剪切或粘贴。该值的默认值因浏览器而异,因此应始终将其包括在内。

这就是剪贴板 API 的异步特性真正派上用场的地方:尝试读取或写入剪贴板数据会自动提示用户获得许可(如果尚未授予许可)。由于 API 基于承诺,因此这是完全透明的,并且用户拒绝剪贴板权限会导致承诺被拒绝,因此页面可以适当地响应。

由于 Chrome 仅在页面为活动标签时才允许剪贴板访问,因此你会发现,如果直接粘贴到 DevTools 中,此处的某些示例将不会运行,因为 DevTools 本身就是活动标签。有一个技巧:使用延迟剪贴板访问setTimeout(),然后在调用函数之前快速在页面内部单击以将其聚焦:

setTimeout(async () => {
  const text = await navigator.clipboard.readText();
  console.log(text);
}, 2000); 

特征检测

要在支持所有浏览器的同时使用 Async Clipboard API,请测试 navigator.clipboard并退回到较早的方法。例如,这是实现粘贴以包括其他浏览器的方式。

document.addEventListener('paste', async (e) => {
  e.preventDefault();
  let text;
  if (navigator.clipboard) {
    text = await navigator.clipboard.readText();
  }
  else {
    text = e.clipboardData.getData('text/plain');
  }
  console.log('Got pasted text: ', text);
}); 

这还不是全部。在 Async Clipboard API 之前,Web 浏览器混合了多种复制和粘贴实现。在大多数浏览器中,可以使用document.execCommand('copy')和触发浏览器自身的复制和粘贴 document.execCommand('paste')。如果要复制的文本是 DOM 中不存在的字符串,则必须将其注入 DOM 中并进行选择:

button.addEventListener('click', (e) => {
  const input = document.createElement('input');
  document.body.appendChild(input);
  input.value = text;
  input.focus();
  input.select();
  const result = document.execCommand('copy');
  if (result === 'unsuccessful') {
    console.error('Failed to copy text.');
  }
}); 
使用 content-visibility:属性提高浏览器渲染性能
content-visibility属性在 Chromium 85 中得到支持,该属性可能是影响页面加载性能的最具影响力的新 CSS 属性之一。content-visibility可以使用户代理可以跳过元素的渲染工作,包括布局和绘画,直到需要它为止。

乐客互联
by 乐客互联

使用 content-visibility:属性提高浏览器渲染性能

河北乐客互联
  •  285

使用 content-visibility:属性提高浏览器渲染性能

发布时间:2020-12-15 09:40:42


content-visibility属性在 Chromium 85 中得到支持,该属性可能是影响页面加载性能的最具影响力的新 CSS 属性之一。content-visibility可以使用户代理可以跳过元素的渲染工作,包括布局和绘画,直到需要它为止。

因为跳过了渲染,所以如果大部分内容不在屏幕上,则利用该content-visibility属性可使初始用户加载更快。

它还允许与屏幕上的内容进行更快的交互。

应用于content-visibility: auto分块的内容区域可使初始负载的渲染性能提高 7 倍

浏览器支持

content-visibility: auto依赖于 CSS 包含规范中的原语,虽然content-visibility: auto目前 仅在 Chromium 85 中得到支持(并且被 Firefox 视为 “有价值的原型”),但是大多数现代浏览器都支持该属性。

CSS 属性值

该属性主要目标是通过提供 DOM 子树与页面其余部分的可预测隔离来实现 Web 内容的渲染性能改进。

基本上,开发人员可以告诉浏览器页面的哪些部分被封装为一组内容,从而使浏览器无需考虑子树之外的状态就可以对内容进行推理。知道内容(子树)的哪些位包含隔离的内容意味着浏览器可以为页面渲染做出优化决策。

CSS 包含四种属性值,每种类型都是containCSS 属性的潜在值,可以将它们组合在一起,以空格分隔的值列表:

  • size:元素上的大小限制可确保元素框的布局,而无需检查其后代。这意味着,如果我们仅需要元素的大小,就可以跳过后代的布局。
  • layout:布局限制意味着后代不会影响页面上其他框的外部布局。如果我们要做的只是布置其他方框,这使我们有可能跳过后代的布局。
  • style:样式包含可确保不仅对子元素有影响的属性不会脱离元素(例如,计数器)。如果我们想要的只是在其他元素上计算样式,这使我们有可能跳过后代的样式计算。
  • paint:绘制包含可以确保容纳盒的后代不会显示在其边界之外。没有任何内容可以使元素明显溢出,并且如果元素在屏幕外或以其他方式不可见,则其后代也将不可见。如果元素不在屏幕上,这使我们有可能跳过 paint后代。

使用content-visibility跳过渲染工作

可能很难弄清楚要使用哪个包含值,因为只有在指定了适当的设置后,浏览器优化才能开始。你可以使用这些值来查看最合适的值,或者可以使用另一个 CSS 属性content-visibility来自动应用所需的包含。content-visibility确保开发人员以最小的努力获得最大的浏览器性能提升。

content-visibility属性可以接受多个值,但是auto可以立即提高性能。具体属性值包括:自动获得布局、样式和绘制内容。如果该元素不在屏幕上(并且与用户无关,则相关元素将是在其子树中具有焦点或选择的元素),那么它也会获得size包容性。

简而言之,如果该元素不在屏幕上,则不会渲染其后代。浏览器在不考虑元素任何内容的情况下确定元素的大小,并在此处停止。跳过大多数渲染,例如元素子树的样式和布局。

当元素接近视口时,浏览器不再添加size容器,而是开始绘制和点击测试元素的内容。这使得渲染工作能够及时地被用户看到。

contain-intrinsic-size指定元素的自然大小

为了实现content-visibility的潜在好处,浏览器需要应用大小限制,以确保内容的呈现结果不会以任何方式影响元素的大小。这意味着该元素将布局为好像是空的。如果元素没有在常规块布局中指定的高度,则其高度为 0。

这可能不是理想的,因为滚动条的大小会发生变化,这取决于每个具有非零高度的故事。

值得庆幸的是,CSS 提供了另一个属性,contain-intrinsic-size该属性可以有效地指定元素的自然大小(如果该元素受大小包含影响)。在我们的示例中,我们将其设置1000px为对部分的高度和宽度的估计。

这意味着它将进行布局,就好像它有一个 “内在大小” 尺寸的子对象一样,从而确保未调整大小的 div 仍然占据空间。 contain-intrinsic-size充当占位符大小来代替呈现的内容。

content-visibility: hidden隐藏内容

如果要利用缓存的呈现状态的优点,使内容不呈现在屏幕上而又不呈现它怎么办?输入: content-visibility: hidden

content-visibility: hidden属性为你提供未渲染内容和缓存渲染状态的所有相同优点,与content-visibility: auto屏幕外一样。但是,与之不同auto,它不会自动开始在屏幕上呈现。

这给了你更多的控制权,使你可以隐藏元素的内容并稍后快速取消隐藏它们。

将其与隐藏元素内容的其他常见方式进行比较:

  • display: none:隐藏元素并破坏其呈现状态。这意味着取消隐藏元素与渲染具有相同内容的新元素一样昂贵。
  • visibility: hidden:隐藏元素并保持其呈现状态。这并不能真正从文档中删除该元素,因为它(及其子树)仍占据页面上的几何空间,并且仍然可以单击。它也可以在需要时随时更新渲染状态,即使隐藏也是如此。

content-visibility: hidden在另一方面,在保留元素的呈现状态的同时将其隐藏,因此,如果需要进行任何更改,则仅在再次显示该元素(即,content-visibility: hidden删除属性)时才会发生更改 。

政治投票网站前端设计

乐客互联
by 乐客互联

政治投票网站前端设计

河北乐客互联
  •  676

政治投票网站前端设计

发布时间:2019-09-06 15:52:25


最后更新
创建
古腾堡优化 没有
高分辨率
小工具准备好了
兼容的浏览器 IE11FirefoxSafariOperaChromeEdge
兼容 Bootstrap 4.x
骨架 Unyson
软件版本 WordPress 5.2.x
包含ThemeForest文件 PHP文件CSS文件JS文件
4+
文档 记录良好
布局 响应
标签 竞选候选人慈善机构众筹捐赠选举事件非营利组织非营利组织政治政治领袖政党政治wordpress主题政治家政治

多概念企业业务网站前端页面设计

乐客互联
by 乐客互联

多概念企业业务网站前端页面设计

河北乐客互联
  •  674

多概念企业业务网站前端页面设计

发布时间:2019-09-06 15:30:12


最后更新
创建 8月8日19日
古腾堡优化
高分辨率
小工具准备好了
兼容的浏览器 IE11FirefoxSafariOperaChromeEdge
兼容 ElementorBootstrap 4.x
骨架 Unyson
软件版本 WordPress 5.2.xWordPress 5.1.xWordPress 5.0.xWordPress 4.9.xWordPress 4.8.x
包含ThemeForest文件 PHP文件CSS文件JS文件
4+
文档 记录良好
布局 响应
标签 机构应用程序登陆比特币业务企业创意现代多用途投资组合响应saas软件启动技术Web应用程序





教育网站前端设计

乐客互联
by 乐客互联

教育网站前端设计

河北乐客互联
  •  413

教育网站前端设计

发布时间:2019-09-06 15:13:08


最后更新
创建
古腾堡优化
高分辨率
小工具准备好了
兼容的浏览器 IE10IE11FirefoxSafariOperaChromeEdge
兼容 bbPress 2.5.xBuddyPress 4.1.xBuddyPress 3.0.xBuddyPress 2.5.xElementorVisual Composer 5.1.xVisual Composer 4.12.xVisual Composer 4.11.xVisual Composer 4.11.2.1WooCommerce 3.5.xWooCommerce 3.4.xWooCommerce 3.3.xWooCommerce 3.2.xWooCommerce 3.1.xWooCommerce 3.0.xWPBakery Page Builder 5.5.xWPBakery Page Builder 5.4.xWPBakery Page Builder 5.3WPBakery Page Builder 5.2.xWPMLBootstrap 3.x
软件版本 WordPress 5.2.xWordPress 5.1.xWordPress 5.0.xWordPress 4.9.xWordPress 4.8.xWordPress 4.7.xWordPress 4.6.1WordPress 4.6WordPress 4.5.xWordPress 4.5.2WordPress 4.5 .1WordPress 4.5
包含ThemeForest文件 PHP文件CSS文件JS文件
4+
文档 记录良好
布局 响应
标签 学院coursera教育教育wordpress主题电子学习学习学习管理系统lms教学培训培训中心udemy大学wordpress教育主题wp lms





响应正常运行时间的商务WordPress主题前端设计

乐客互联
by 乐客互联

响应正常运行时间的商务WordPress主题前端设计

河北乐客互联
  •  221

响应正常运行时间的商务WordPress主题前端设计

发布时间:2019-08-27 18:13:10


Last Update
Created 7 August 19
Gutenberg Optimized Yes
High Resolution Yes
Widget Ready Yes
Compatible Browsers IE11, Firefox, Safari, Opera, Chrome, Edge
Compatible With Elementor
Software Version WordPress 5.2.x, WordPress 5.1.x, WordPress 5.0.x, WordPress 4.9.x, WordPress 4.8.x
ThemeForest Files Included PHP Files, CSS Files, JS Files
Columns 4+
Documentation Well Documented
Layout Responsive
Tags app, bootstrap, business, corporate, education, event, landing, magazine, marketing, multipurpose, parallax, portfolio, shop, startup

点燃前端页面设计
要像专业人士一样在网上启动您的项目,Ignite是要考虑的免费托管网站模板。任何网络托管和域名注册商公司都可以将Ignite充分利用并在线发挥作用。您现在可以从Ignite及其附带的所有特权中受益,而不是从头开始进行网页设计。该工具的布局灵敏,灵活,遵循所有最新的网络实践,非常吸引眼球。

乐客互联
by 乐客互联

点燃前端页面设计

河北乐客互联
  •  232

点燃前端页面设计

发布时间:2019-08-27 16:49:10


要像专业人士一样在网上启动您的项目,Ignite是要考虑的免费托管网站模板。任何网络托管和域名注册商公司都可以将Ignite充分利用并在线发挥作用。您现在可以从Ignite及其附带的所有特权中受益,而不是从头开始进行网页设计。该工具的布局灵敏,灵活,遵循所有最新的网络实践,非常吸引眼球。

Ignite的其他特色是粘性导航,动画统计,号召性用语按钮,滚动内容加载和定价计划。您还可以通过集成的推荐建立客户信任,并通过创建有关托管和域名的博客回馈社区。添加联系页面还为您提供了工作表单和Google地图。通过使用免费托管网站模板Ignite,从一开始就像一个冠军一样在网上开始。


Trans Free Ultramodern单页网站模板

乐客互联
by 乐客互联

Trans Free Ultramodern单页网站模板

河北乐客互联
  •  279

Trans Free Ultramodern单页网站模板

发布时间:2019-08-16 18:26:39


这个Trans Free Ultramodern PSD单页网站模板是一个时尚的黑暗网站PSD模板,它使用独特的网站布局,有吸引力的图像和时尚的平面网格设计。选择的颜色的基调是一个强烈的声明,将让用户满意。在源头检查模板设计并继续欢乐。

BlazRobar.com是作者回馈这个社区的一种方式,通过分享他在7年的平面设计师中学到的设计技巧和窍门。本网站的重点是赠送免费PSD,免费PSD模板,网站模板和Photoshop文件,供设计师和开发人员欣赏和使用。

本网站上的所有文件都是免费的,无论如何您都可以使用。非常放松,你如何使用甚至Creative Commons太严格的文件!不需要归属,您甚至可以在商业上使用它。