Как я могу заставить IE распознавать NBSP как NBSP вместо пробела? - PullRequest
2 голосов
/ 27 февраля 2010

Для следующего JavaScript:

function EscapedString(str) {
  var obj = document.createElement("span");
  obj.innerHTML = str;
  return "&#" + (obj.textContent || obj.innerText).charCodeAt(0) + ";";
}

alert(EscapedString(" "));
alert(EscapedString(" "));
alert(EscapedString("\xA0"));

IE возвращает   для каждого значения вместо  , как это делает любой другой браузер. .innerText является неправильным свойством для IE?

Вот он работает на jsbin .

Ответы [ 2 ]

1 голос
/ 27 февраля 2010

Ах, я могу получить доступ к значению текстового узла, созданного innerHTML, и это возвращает правильное значение:

function EscapedString(str) {
  var obj = document.createElement("div");
  obj.innerHTML = str;
  return "&#" + (obj.firstChild.nodeValue || obj.textContent).charCodeAt(0) + ";";
}

Вот последний скрипт на jsbin
... и вот суть окончательного кода, который я в итоге использовал

0 голосов
/ 27 февраля 2010

Попробуйте это.Разделите символ '&' из 'nbsp'

alert('&' + 'nbsp');

, который работал для меня.Вы можете сделать это?

, если нет, возможно, вы можете преобразовать в ascii ???

отредактировано

  alert(String.fromCharCode(EscapedString(" ")))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...