Javascript spotify过滤标题
我正在Spotiy框架内构建一个个人应用程序。我在曲目和艺术家的标题上遇到了一些问题,这些标题有特殊的字符,如单引号/双引号、符号等等 在挖掘解决方案时,我发现hack使用replace()方法。但在进一步挖掘之后,我发现了Spotify本身的一个示例代码,并注意到了一些奇怪的东西。基本上,当示例代码收集了曲目信息,然后将其显示在Javascript spotify过滤标题,javascript,spotify,Javascript,Spotify,我正在Spotiy框架内构建一个个人应用程序。我在曲目和艺术家的标题上遇到了一些问题,这些标题有特殊的字符,如单引号/双引号、符号等等 在挖掘解决方案时,我发现hack使用replace()方法。但在进一步挖掘之后,我发现了Spotify本身的一个示例代码,并注意到了一些奇怪的东西。基本上,当示例代码收集了曲目信息,然后将其显示在标记的innerHTML属性中时,曲目标题正确地显示了特殊字符,但当我尝试在例如alert()中显示信息或将其作为值显示在文本框中时,标题中的特殊字符被弄乱了 同样,我
标记的innerHTML属性中时,曲目标题正确地显示了特殊字符,但当我尝试在例如alert()中显示信息或将其作为值显示在文本框中时,标题中的特殊字符被弄乱了
同样,我可以使用replace()方法来解决这个问题,但我很想知道为什么会发生这种行为(即innerHTML显示正确的警告和错误的文本框) 以下是我使用的代码: 编辑: 据我所知,innerHTML实际上将特殊字符编码到常见的web表单中。但由于我将值放入文本框中,因此我制作了自己的过滤器:首先,阅读HTML编码以及(例如)innerHTML和innerText之间的差异(以及未正确处理这两者之间的差异所带来的XSS安全隐患!) 现在,Spotify Api(至少是Spotify应用程序中的Api;web Api的工作方式不同)返回默认HTML编码的值 如果确定要对字符串进行文本编码,请对字符串使用decodeForText()方法(因此
var textname=data.name.decodeForText();
)
另请参阅