У меня та же проблема, что и здесь:
Тег скрипта в строке JavaScript
Однако я не могу решить проблему с предложенными решениями. Я использую плагин datatables для jquery. Я пробовал разные решения из вышеупомянутой темы, но ни один не работает. Я получаю сообщение об ошибке «$ is notfined». Если я устанавливаю var html как «test», он работает нормально.
Сценарий в String вставляет элемент управления ActiveX (IE) или плагин (FF) и отображает данные из базы данных.
В следующем коде var html как-то ломает скрипт:
function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
var dataURL = "'data:chemical/smiles," + aData[0] + "'";
var html = '<script type="text/javascript">'
+ 'cd_insertObject("chemical/x-daylight-smiles", 182, 172,'
+ '"CDCtrl' + iDisplayIndexFull + '","","True","False","True",'
+ 'dataurl='+ dataURL + ');</scr' + 'ipt>';
$('td:eq(0)', nRow).html(html); // here $ causes an error
return nRow;
}
Обратите внимание, что я также пытался экранировать все <и> также в открывающем теге скрипта. Та же проблема.
Есть идеи как решить?
EDIT:
Нашел решение, но не могу ответить на свой вопрос, вот оно:
Функция jQuerys .html () удаляет теги скрипта. Я обнаружил, что в комментариях документация для .html ().
Другая проблема заключается в том, что сторонняя функция cd_insertObject использует document.write ().
Мое решение было скопировать + вставить cd_insertObject, но вместо использования записи документа я возвращаю строку, а затем помещаю эту строку в
$('td:eq(0)', nRow).html(html);