草庐IT

Escaping

全部标签

javascript - 为什么在从 JavaScript 生成 HTML 时使用\x3C 而不是 <?

我看到以下HTML代码大量用于从内容分发网络加载jQuery,但如果CDN不可用(例如在Modernizrdocs中),则回退到本地副本:window.jQuery||document.write('\x3C/script>')我的问题是,为什么最后一个是document.write()中的字符语句替换为转义序列\x3C?是JavaScript中的安全字符,甚至在同一字符串中更早使用过,那么为什么要在那里转义呢?是否只是为了防止糟糕的浏览器实现认为字符串里面是真正的脚本结束标签?如果是这样,真的有任何浏览器会在这方面失败吗?作为后续问题,我还看到了使用unescape()的变体(如th

javascript - Angular 2 HostListener 按键检测转义键?

我正在使用以下方法检测页面上的按键。我的计划是检测何时按下Escape键并在按下时运行一个方法。目前我只是试图记录按下了哪个键。但是,从未检测到Escape键。@HostListener('document:keypress',['$event'])handleKeyboardEvent(event:KeyboardEvent){console.log(event);letx=event.keyCode;if(x===27){console.log('Escape!');}} 最佳答案 尝试使用keydown或keyup事件捕获Es

javascript - Angular 2 HostListener 按键检测转义键?

我正在使用以下方法检测页面上的按键。我的计划是检测何时按下Escape键并在按下时运行一个方法。目前我只是试图记录按下了哪个键。但是,从未检测到Escape键。@HostListener('document:keypress',['$event'])handleKeyboardEvent(event:KeyboardEvent){console.log(event);letx=event.keyCode;if(x===27){console.log('Escape!');}} 最佳答案 尝试使用keydown或keyup事件捕获Es

javascript - decodeURIComponent vs unescape,unescape有什么问题?

在回答另一个问题时,我意识到我的Javascript/DOM知识已经有点过时了,因为我仍在使用escape/unescape对内容进行编码URL组件,而现在看来我应该改用encodeURIComponent/decodeURIComponent。我想知道的是escape/unescape有什么问题?有一些模糊的建议表明Unicode字符存在某种问题,但我找不到任何明确的解释。我的Web体验相当偏颇,几乎所有的体验都是在编写与InternetExplorer绑定(bind)的大型Intranet应用程序。这涉及大量使用escape/unescape并且所涉及的应用程序多年来一直完全支持U

javascript - decodeURIComponent vs unescape,unescape有什么问题?

在回答另一个问题时,我意识到我的Javascript/DOM知识已经有点过时了,因为我仍在使用escape/unescape对内容进行编码URL组件,而现在看来我应该改用encodeURIComponent/decodeURIComponent。我想知道的是escape/unescape有什么问题?有一些模糊的建议表明Unicode字符存在某种问题,但我找不到任何明确的解释。我的Web体验相当偏颇,几乎所有的体验都是在编写与InternetExplorer绑定(bind)的大型Intranet应用程序。这涉及大量使用escape/unescape并且所涉及的应用程序多年来一直完全支持U

javascript - 从输入字段读取属性时 HTML 编码丢失

我正在使用JavaScript从隐藏字段中提取一个值并将其显示在文本框中。隐藏字段中的值被编码。例如,被拉入通过一些jQuery从隐藏字段中获取值(此时我丢失了编码):$('#hiddenId').attr('value')问题是当我阅读chalk&cheese从隐藏字段中,JavaScript似乎丢失了编码。我不希望值是chalk&cheese。我希望保留文字amp;。是否有JavaScript库或jQuery方法可以对字符串进行HTML编码? 最佳答案 编辑:这个答案是很久以前发布的,htmlDecode函数引入了XSS漏洞。它

javascript - 从输入字段读取属性时 HTML 编码丢失

我正在使用JavaScript从隐藏字段中提取一个值并将其显示在文本框中。隐藏字段中的值被编码。例如,被拉入通过一些jQuery从隐藏字段中获取值(此时我丢失了编码):$('#hiddenId').attr('value')问题是当我阅读chalk&cheese从隐藏字段中,JavaScript似乎丢失了编码。我不希望值是chalk&cheese。我希望保留文字amp;。是否有JavaScript库或jQuery方法可以对字符串进行HTML编码? 最佳答案 编辑:这个答案是很久以前发布的,htmlDecode函数引入了XSS漏洞。它

javascript - 在 JavaScript 中转义字符串

JavaScript是否有像PHP的addslashes(或addcslashes)函数那样的内置函数来为字符串中需要转义的字符添加反斜杠?例如,这个:Thisisademostringwith'single-quotes'and"double-quotes"....将成为:Thisisademostringwith\'single-quotes\'and\"double-quotes\". 最佳答案 http://locutus.io/php/strings/addslashes/functionaddslashes(str){r

javascript - 在 JavaScript 中转义字符串

JavaScript是否有像PHP的addslashes(或addcslashes)函数那样的内置函数来为字符串中需要转义的字符添加反斜杠?例如,这个:Thisisademostringwith'single-quotes'and"double-quotes"....将成为:Thisisademostringwith\'single-quotes\'and\"double-quotes\". 最佳答案 http://locutus.io/php/strings/addslashes/functionaddslashes(str){r

javascript - 如何在 onClick 处理程序中转义 JavaScript 代码中的字符串?

也许我只是想得太难了,但我在确定在链接的onClick处理程序中的某些JavaScript代码中对字符串使用什么转义时遇到了问题。示例:','');returnfalse;">Select和是模板替换发生的地方。我的问题是项目名称可以包含任何字符,包括单引号和双引号。目前,如果它包含单引号,它会破坏JavaScript代码。我的第一个想法是使用模板语言的函数对项目名称进行JavaScript转义,它只是转义引号。这不会修复包含破坏链接HTML的双引号的字符串的情况。这个问题一般是怎么解决的?我是否需要对整个onClick处理程序进行HTML转义?如果是这样,那看起来会很奇怪,因为模板语