Internet Explorer错误SCRIPT1014无效字符“

时间:2018-11-13 10:35:21

标签: javascript internet-explorer

我有一些可以在除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,并且不能更改引号。

1 个答案:

答案 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);