jquery 德语变音符号和特殊字符的类型化JS错误

6ioyuze2  于 2023-02-18  发布在  jQuery
关注(0)|答案(1)|浏览(113)

我有一个大问题。我在我的网站上使用类型化JS。问题是它看起来像类型化JS不支持特殊字符或德语变音。这里是一个例子:

jQuery(document).ready(function () {
  new Typed("#umlauts-special-chars",{strings:["","Deine Plattform füüüüüüüüüüüüüüüüüüüüüür GT & Heimaufträge"],typeSpeed:60,loop:!1});
  new Typed("#no-umlauts-special-chars",{strings:["","Welcome on my special plattform with a long long text"],typeSpeed:60,loop:!1});
});
div {
    display: inline-block;
    font-size: 20px;
    letter-spacing: 2px;
    line-height: 3em;
    text-align: center;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/typed.js/2.0.10/typed.min.js" integrity="sha256-F6VRM94CIE3Kv2zkAtbzlViDfZ3HMaIgusIcFBPIjiU=" crossorigin="anonymous"></script>

<div class="wrapper">
  <div id="umlauts-special-chars"></div>
  <div id="no-umlauts-special-chars"></div>
</div>

有人知道我该怎么解决这个问题吗?这对我来说非常重要,因为我今晚要发布消息。所以希望有人能帮助我或者知道这件事。

fhg3lkii

fhg3lkii1#

这个问题不是由德语字母引起的,而是由HTML编码引起的。它对我使用textarea编码技巧编码到HTML起到了作用。

function encodeHtml(html) {
    const textarea = document.createElement('textarea');
    textarea.textContent = html;
    const encodedHtml = textarea.innerHTML;
    textarea.remove();
    return encodedHtml;
};

encodeHtml("Deine Plattform füüüüüüüüüüüüüüüüüüüüüür GT & Heimaufträge")
// return 'Deine Plattform füüüüüüüüüüüüüüüüüüüüüür GT &amp; Heimaufträge'

我没有测试哪个浏览器可以工作,但它似乎在所有的工作。无论如何,你可以测试出来。

let supportEncodeHtml = false
if(encodeHtml('&') === '&amp;'){
     supportEncodeHtml= true
}

相关问题