В закрывающем теге script
есть нераспознанная escape-последовательность. \/
не является допустимой escape-последовательностью. Вы, вероятно, хотите:
javascript.Append("document.write(\"<script id=__ie_onload defer \" + \"src=javascript:void(0)></script>\");");
Или, если вы действительно хотите эту последовательность \/
, то дважды уберите \
:
javascript.Append("document.write(\"<script id=__ie_onload defer \" + \"src=javascript:void(0)><\\/script>\");");
В качестве подсказки по отладке, если ваши инструменты предоставляют вам плохую обратную связь, что вы даже не видите ошибок компиляции, попробуйте создать тестовое приложение, содержащее проблемный код. Я скопировал ваш код в консольное приложение, что-то вроде:
static void Main(string[] args)
{
var javascript = new StringBuilder();
javascript.Append(...
Console.Write(javascript);
}
... и я сразу увидел проблему при компиляции:
Нераспознанная escape-последовательность
... с подчеркнутой последовательностью проблем.