如何根据地址栏URL参数控制Qualtrics调研弹窗的显示与隐藏
实现方案
核心逻辑
通过判断当前页面URL是否携带dodhaLink=true参数,决定是否加载Qualtrics调研弹窗脚本:如果是从应用B跳转的带该参数的请求,直接跳过弹窗初始化逻辑。
修改后的嵌入代码
<div> <!--BEGIN QUALTRICS WEBSITE FEEDBACK SNIPPET--> <script type='text/javascript'> // 新增:获取URL查询参数的方法 function getQueryParam(name) { const urlParams = new URLSearchParams(window.location.search); return urlParams.get(name); } // 新增:判断是否从应用B跳转,不是的话才初始化调研弹窗 if (getQueryParam('dodhaLink') !== 'true') { (function(){var g=function(e,h,f,g){ this.get=function(a){for(var a=a+"=",c=document.cookie.split(";"),b=0,e=c.length;b<e;b++){for(var d=c[b];" "==d.charAt(0);)d=d.substring(1,d.length);if(0==d.indexOf(a))return d.substring(a.length,d.length)}return null}; this.set=function(a,c){var b="",b=new Date;b.setTime(b.getTime()+6048E5);b="; expires="+b.toGMTString();document.cookie=a+"="+c+b+"; path=/; "};c=a[1];if(100==c)return!0;switch(a[0]){case "v":return!1;case "r":return c=a[2]%Math.floor(100/c),a[2]++,this.set(f,a.join(":")),!c}return!0}; try{(new g(100,"r","QSI_S_ZN_cwOHfLkxRr4n4W2","https://zncwohflkxrr4n4w2-nlmenterprise.siteintercept.qualtrics.com/SIE/?Q_ZID=ZN_cwOHfLkxRr4n4W2")).start()}catch(i){}})(); } </script><div id='ZN_cwOHfLkxRr4n4W2'><!--DO NOT REMOVE-CONTENTS PLACED HERE--></div> <!--END WEBSITE FEEDBACK SNIPPET--> </div>
额外适配说明(Angular场景)
如果你的Angular应用启用了无刷新路由模式,跳转时页面不会重新加载,可以把参数判断逻辑移到对应页面组件的ngOnInit生命周期钩子中,动态控制弹窗脚本的加载,避免路由切换后判断失效。
内容的提问来源于stack exchange,提问作者Paritosh M
相关产品推荐
相关产品推荐

