如何将Bootstrap Notification硬编码消息替换为自定义变量?
解决Bootstrap Notify硬编码消息替换为自定义变量的问题
核心问题分析
你代码里有两个同名的notify函数,分别在window.load和document.ready的回调作用域内。要替换的硬编码消息在第二个notify函数里,替换失败大概率是因为变量作用域不对,或者没给函数传递参数。
具体修改方案
下面给两种可行的修改方式:
方式一:直接使用作用域内的自定义变量
- 在脚本开头(
'use strict;'之后)定义你的自定义变量,确保后续函数能访问到:
'use strict'; // 定义自定义消息变量 var welcome = 'Welcome visitor from Australia';
- 找到
document.ready里的notify函数,把硬编码的message值替换成变量:
$.notify({ icon: icon, title: ' Bootstrap notify ', message: welcome, // 替换这里的硬编码文本 url: '' }, { // 原配置项保持不变 });
- 别忘了调用这个
notify函数(你原来的代码里只定义了函数没调用),比如在document.ready里函数定义后加一行:
// 调用notify,传入你需要的参数 notify('bottom', 'right', 'fa fa-bell', 'inverse', 'animated bounceInUp', 'animated bounceOutUp');
方式二:给notify函数添加message参数(更灵活)
如果需要动态传递不同消息,推荐这种方式:
- 调整
notify函数的参数列表,加入message参数,还可以设置默认值:
function notify(from, align, icon, type, animIn, animOut, message = '默认消息') { $.notify({ icon: icon, title: ' Bootstrap notify ', message: message, // 使用传入的参数 url: '' }, { // 原配置项保持不变 }); };
- 调用时直接传递你的自定义变量:
notify('bottom', 'right', 'fa fa-bell', 'inverse', 'animated bounceInUp', 'animated bounceOutUp', welcome);
额外注意点
- 两个
notify函数同名但在不同作用域,不会互相覆盖,但如果要统一逻辑,建议合并成一个函数避免混淆。 - 确保变量定义在函数能访问到的作用域内,不要在局部作用域定义后在外部使用。
内容的提问来源于stack exchange,提问作者Nomada
相关产品推荐
相关产品推荐

