我有一个与 Tawk.to 聊天的网站。我正在编写我的内容安全策略,我需要避免使用所有内联脚本。
代码如下所示:
HTML
<a class="message_button anchor" id="message_button" href="javascript:void(Tawk_API.toggle())" title="Üzenjen nekünk!"><img
alt="Üzenet küldés gomb ikonja" src="img/message_icon.svg" /></a>
JS
var Tawk_API=Tawk_API||{}, Tawk_LoadStart=new Date();
(function(){
var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0];
s1.async=true;
s1.src='https://embed.tawk.to/5fb64551920fc91564c886eb/default';
s1.setAttribute('crossorigin','*');
s0.parentNode.insertBefore(s1,s0);
})();
所以问题出在 javascript:void(Tawk_API.toggle());
$("#message_button").click(function() {
$(this).attr("href", "javascript:void(Tawk_API.toggle())");
});
但它有点一样。我尝试使用 click 和 Tawk_API.toggle() 添加 eventListener 但控制台说 Tawk_API.toggle() 不是函数。
有什么建议吗?javascript:void() 的任何替代方案?
提前感谢您的回答!