钉钉嵌套H5+app,钉钉导航栏显示/隐藏 页面头部标题(title)的修改

2024-05-09 09:18

本文主要是介绍钉钉嵌套H5+app,钉钉导航栏显示/隐藏 页面头部标题(title)的修改,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

亲测可用,若有疑问请私信

钉钉导航栏标题是用钉钉内封装好的方法,提供的API里有修改title的方法,所以引入dingtalk-jsapi去修改。

参考路径:https://open-doc.dingtalk.com/microapp/dev/welcome-to-lark

方法:需要修改标题的页面中使用钉钉的方法就可以了

步骤:1.使用npm或cnpm安装

npm install dingtalk-jsapi --save
cnpm install dingtalk-jsapi --save
2.在main.js中引入

import * as dd from 'dingtalk-jsapi';
Vue.prototype.$dd = dd;
 3.在需要修改导航栏标题的文件中去使用

if (this.$dd.env.platform!=="notInDingTalk") {
    //进行钉钉登录操作
    this.$dd.ready(() => {
        this.$ding.biz.navigation.setTitle({
          title: "导航栏标题名", 
        })
    })
}
 在微信上H5页面头部标题(title)的修改

因为微信在首次加载页面初始化title后,就再也不监听 document.title的change事件。

给页面加上一个内容为空的iframe,随后立即删除这个iframe,这时候会刷新title。

export const ChangePageTitle = (title) => {
        var $body = $('body');
        document.title = title;
        var $iframe = $('<iframe style="display: none"></iframe>');
        $iframe.on('load', function() {
          setTimeout(function() {
            $iframe.off('load').remove();
          }, 0);
        }).appendTo($body);
    }
}
兼容微信、钉钉和浏览器修改title的方法 

1.判断当前页面是在钉钉、微信还是浏览器中打开

export const userAgentObj = () => {
    const ua = navigator.userAgent.toLowerCase()
    let isWeiXin = false,
    isDingTalk = false,
    isApp = false,
    obj = {}
    if(ua.match(/DingTalk/i)=="dingtalk"){//用钉钉打开
        isDingTalk = true
    }else if(ua.match(/MicroMessenger/i)=="micromessenger"){//用微信打开
        isWeiXin = true
    }else{//用其他浏览器打开
        isApp = true
    }
    obj.isWeiXin = isWeiXin
    obj.isDingTalk = isDingTalk
    obj.isApp = isApp
    localStorage.setItem("userAgentObj",JSON.stringify(obj))
    return obj
}
2 .修改头部标题的函数(兼容微信、钉钉和浏览器)

export const ChangePageTitle = (title) => {
    let userAgentObj = JSON.parse(localStorage.getItem('userAgentObj'))||null
    if(userAgentObj&&userAgentObj.isDingTalk){//钉钉内
        window.$dd.ready(function() {
            window.$dd.biz.navigation.setTitle({
                title : title,//控制标题文本,空字符串表示显示默认文本
                onSuccess : function(result) {
                },
                onFail : function(err) {}
            });
        });
    }else{//微信或浏览器内
        var $body = $('body');
        document.title = title;//普通浏览器用这一句就可以修改了
        var $iframe = $('<iframe style="display: none"></iframe>');
        $iframe.on('load', function() {
          setTimeout(function() {
            $iframe.off('load').remove();
          }, 0);
        }).appendTo($body);
    }
}
 
 

这篇关于钉钉嵌套H5+app,钉钉导航栏显示/隐藏 页面头部标题(title)的修改的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/973006

相关文章

通过React实现页面的无限滚动效果

《通过React实现页面的无限滚动效果》今天我们来聊聊无限滚动这个现代Web开发中不可或缺的技术,无论你是刷微博、逛知乎还是看脚本,无限滚动都已经渗透到我们日常的浏览体验中,那么,如何优雅地实现它呢?... 目录1. 早期的解决方案2. 交叉观察者:IntersectionObserver2.1 Inter

C#自动化实现检测并删除PDF文件中的空白页面

《C#自动化实现检测并删除PDF文件中的空白页面》PDF文档在日常工作和生活中扮演着重要的角色,本文将深入探讨如何使用C#编程语言,结合强大的PDF处理库,自动化地检测并删除PDF文件中的空白页面,感... 目录理解PDF空白页的定义与挑战引入Spire.PDF for .NET库核心实现:检测并删除空白页

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧

《Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧》本文将通过实际代码示例,深入讲解Python函数的基本用法、返回值特性、全局变量修改以及异常处理技巧,感兴趣的朋友跟随小编一起看看... 目录一、python函数定义与调用1.1 基本函数定义1.2 函数调用二、函数返回值详解2.1 有返

Nginx屏蔽服务器名称与版本信息方式(源码级修改)

《Nginx屏蔽服务器名称与版本信息方式(源码级修改)》本文详解如何通过源码修改Nginx1.25.4,移除Server响应头中的服务类型和版本信息,以增强安全性,需重新配置、编译、安装,升级时需重复... 目录一、背景与目的二、适用版本三、操作步骤修改源码文件四、后续操作提示五、注意事项六、总结一、背景与

详解Java中三种状态机实现方式来优雅消灭 if-else 嵌套

《详解Java中三种状态机实现方式来优雅消灭if-else嵌套》这篇文章主要为大家详细介绍了Java中三种状态机实现方式从而优雅消灭if-else嵌套,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录1. 前言2. 复现传统if-else实现的业务场景问题3. 用状态机模式改造3.1 定义状态接口3

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert