我有一些可以在除IE之外的所有浏览器中使用的JS。
在该页面上打开控制台时,出现以下错误:SCRIPT1014: Invalid character
,在下一行:
const template = `
这是它折断的部分:
const template = `
<div class='row sortwrap'>
<div class='col-md-8'>
<input type='text' name='category[]' placeholder='' class='form-control name_list catinput' />
<i class='mdi mdi-sort dragndrop'></i>
<div class='questionlist questionwrap'>
<div class='row'>
<div class='col-md-8'>
<button class='btn btn-success questionbutton'>Extra vraag</button>
<input type='text' name='question[]' placeholder='1. Voeg een vraag toe' class='form-control name_list questioninput' />
</div>
<div class='col-md-4'>
</div>
</div>
</div>
</div>
<div class='col-md-4'>
<button id='addcategory' class='btn btn-danger btn_remove removebutton'>X</button>
</div>
</div>`;
const vraagTemplate = `
<div class="row" id="question">
<div class="col-md-8">
<input type="text" name="question[]" class="form-control name_list questioninput" />
</div>
<div class="col-md-4">
<button class="btn btn-danger btn_remove">X</button>
</div>
</div>`;
我尝试使用'
或"
,但是它也停止工作,并且出现此错误:
SCRIPT1015: Unterminated string constant
在同一行上。
对此我该怎么办?
我找到了这个答案:IE11 throwing "SCRIPT1014: invalid character" where all other browsers work但是我拥有的只是纯HTML,并且不能更改引号。
答案 0 :(得分:1)
简短回答:
IE不支持模板文字!
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
因此,您甚至不能使用`
作为字符串。您需要对字符串使用普通的'
或双引号"
。如果字符串的内容也包含引号,则需要将其转义。
请记住,默认情况下,普通字符串不是多行的。该SO帖子中的更多详细信息:
Creating multiline strings in JavaScript
工作示例:
const vraagTemplate =
'<div class="row" id="question">' +
' <div class="col-md-8">' +
' <input type="text" name="question[]" class="form-control name_list questioninput" />' +
' </div>' +
' <div class="col-md-4">' +
' <button class="btn btn-danger btn_remove">X</button>' +
' </div>' +
'</div>';
console.log(vraagTemplate);
const vraagTemplate = ' \
<div class="row" id="question"> \
<div class="col-md-8"> \
<input type="text" name="question[]" class="form-control name_list questioninput" /> \
</div> \
<div class="col-md-4"> \
<button class="btn btn-danger btn_remove">X</button> \
</div> \
</div>';
console.log(vraagTemplate);