浏览器说我的javascript在这个函数中有错误,在我的xhtml中。如果我删除此功能,则错误消失。对我来说,这段代码在语法上看起来很完美:
function toAscii(text) {
for (var i=0; i<text.length; i++) {
var charCode = text.charCodeAt(i);
var ascii = charCode.toString(2);
console.log(ascii);
}
}
Chrome错误:
This page contains the following errors:
error on line 19 at column 31: error parsing attribute name
Below is a rendering of the page up to the first error.
Firefox错误:
Erro no processamento de XML: formatação incorreta
Posição: file:///C:/Users/Carlos/Desktop/ascii%20converter.xhtml
Número da linha 19, coluna 33:
for (var i=0; i<text.length; i++) {
---------------------------------------------------^
这是整个XHTML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>ASCII Converter</title>
<meta charset="UTF-8"/>
<script type="text/javascript">
function converter() {
var text = document.getElementById('texto').value;
toAscii(text);
}
function toAscii(text) {
for (var i=0; i<text.length; i++) {
var charCode = text.charCodeAt(i);
var ascii = charCode.toString(2);
console.log(ascii);
}
}
</script>
</head>
<body>
Texto (Entrada):<br/>
<input id="texto" type="text"/><br/>
ASCII (Saída):<br/>
<input id="ascii" type="text"/><br/>
<input type="button" id="botao" value="Converter" onclick="converter()"/><br/>
</body>
</html>
答案 0 :(得分:3)
由于您使用的是xhtml,并且代码中有<
,因此您必须将代码括在cdata块中
<script type="text/javascript"><![CDATA[
function converter() {
var text = document.getElementById('texto').value;
toAscii(text);
}
function toAscii(text) {
for (var i=0; i<text.length; i++) {
var charCode = text.charCodeAt(i);
var ascii = charCode.toString(2);
console.log(ascii);
}
}
]]></script>
答案 1 :(得分:3)
https://developer.mozilla.org/en-US/docs/Properly_Using_CSS_and_JavaScript_in_XHTML_Documents