Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript spotify过滤标题_Javascript_Spotify - Fatal编程技术网

Javascript spotify过滤标题

Javascript spotify过滤标题,javascript,spotify,Javascript,Spotify,我正在Spotiy框架内构建一个个人应用程序。我在曲目和艺术家的标题上遇到了一些问题,这些标题有特殊的字符,如单引号/双引号、符号等等 在挖掘解决方案时,我发现hack使用replace()方法。但在进一步挖掘之后,我发现了Spotify本身的一个示例代码,并注意到了一些奇怪的东西。基本上,当示例代码收集了曲目信息,然后将其显示在标记的innerHTML属性中时,曲目标题正确地显示了特殊字符,但当我尝试在例如alert()中显示信息或将其作为值显示在文本框中时,标题中的特殊字符被弄乱了 同样,我

我正在Spotiy框架内构建一个个人应用程序。我在曲目和艺术家的标题上遇到了一些问题,这些标题有特殊的字符,如单引号/双引号、符号等等

在挖掘解决方案时,我发现hack使用replace()方法。但在进一步挖掘之后,我发现了Spotify本身的一个示例代码,并注意到了一些奇怪的东西。基本上,当示例代码收集了曲目信息,然后将其显示在

标记的innerHTML属性中时,曲目标题正确地显示了特殊字符,但当我尝试在例如alert()中显示信息或将其作为值显示在文本框中时,标题中的特殊字符被弄乱了

同样,我可以使用replace()方法来解决这个问题,但我很想知道为什么会发生这种行为(即innerHTML显示正确的警告和错误的文本框)

以下是我使用的代码:

编辑:

据我所知,innerHTML实际上将特殊字符编码到常见的web表单中。但由于我将值放入文本框中,因此我制作了自己的过滤器:


首先,阅读HTML编码以及(例如)innerHTML和innerText之间的差异(以及未正确处理这两者之间的差异所带来的XSS安全隐患!)

现在,Spotify Api(至少是Spotify应用程序中的Api;web Api的工作方式不同)返回默认HTML编码的值

如果确定要对字符串进行文本编码,请对字符串使用decodeForText()方法(因此
var textname=data.name.decodeForText();

另请参阅