这是我的代码:
<script>
function popupTest(title) {
alert(title);
return false;
}
</script>
<a href="" onclick="return popupTest('This is 'some' "test" string')"><span>Recommend</span></a>
Run Code Online (Sandbox Code Playgroud)
使用Firefox 4我收到错误:
Error: missing ) after argument list
Source Code:
return popupTest('This is 'some' "test" string')
Run Code Online (Sandbox Code Playgroud)
这就像它解码HTML实体,但我不知道为什么.
也试过......
<a href="" onclick="return popupTest('This is \'some\' \"test\" string')"><span>Recommend</span></a>
Run Code Online (Sandbox Code Playgroud)
这给出了错误:
Error: unterminated string literal
Source Code:
return popupTest('This is \'some\' \
Run Code Online (Sandbox Code Playgroud)
Que*_*tin 13
'是HTML的'.因此,对于第一个示例,解析HTML并传递JavaScript引擎:
return popupTest('This is 'some' "test" string')
Run Code Online (Sandbox Code Playgroud)
......然后第二个'终止字符串.
另一方面:
onclick="return popupTest('This is \'some\' \"test\" string')"
Run Code Online (Sandbox Code Playgroud)
被解析为:
一个onclick属性,其值
return popupTest('This is \'some\' \后跟一些无效数据.
你需要先处理JavaScript:
return popupTest('This is \'some\' "test" string')
Run Code Online (Sandbox Code Playgroud)
并且,然后逃逸它的HTML:
onclick="return popupTest('This is \'some\' "test" string')"
Run Code Online (Sandbox Code Playgroud)
您可能最好使用不显眼的JavaScript并使用JavaScript绑定事件处理程序而不是使用内部事件属性.
| 归档时间: |
|
| 查看次数: |
15675 次 |
| 最近记录: |