Я надеюсь, что интеллектуальное сообщество может помочь мне с проблемой, о которой я не могу найти никаких статей поддержки.В списке SharePoint я использую очень простой код форматирования столбцов JSON (прямо из статьи Microsoft, описывающей, как использовать его здесь: https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/column-formatting). Я сам не большой кодер, но я могу взять пример кода и обычно адаптироватьсяэто для моих нужд.
Я использую этот код для цветового кодирования столбцов, основываясь на простой логике того, что другие столбцы пустые или нет. Все задействованные столбцы являются столбцами даты. В списке 25 столбцов, использующих аналогичный JSONчтобы раскрасить, какие элементы пропускают свои метки даты.
Поэтому моя компания использует Sophos в качестве нашего глобального антивирусного / антивирусного программного обеспечения.
Когда весь мой код работает хорошо, примерно разЧерез час, когда я нахожусь в режиме быстрого редактирования, мой браузер (Chrome) внезапно остановится, и Sophos выскочит, что он обнаружил эксплойт "heapspray" и заблокирует вкладку. К счастью, у меня нет потери данных, но этораздражает необходимость обновляться и возвращаться туда, где я был. Я ничего не знаю о подвигах javascript и не могу найти документацию по любомунг относительно heapspray в JSON.Кажется, я вижу, что это безвредный эксплойт, но я сомневаюсь, что ИТ-специалисты вдруг позволят всем членам моей команды разрешить это только потому, что мой код иногда вызывает это.
Есть ли способ полностью предотвратить это?Кто-нибудь может объяснить, почему это может происходить в первую очередь?
Первый человек, с которым я говорил об этой проблеме, предположил, что мой код был слишком вложенным.Мне удалось уменьшить количество вложенных объектов, но все еще есть вложенные операторы if в логических выражениях.Вторая мысль, которая у меня возникла, заключалась в том, что первоначально в примере кода, который я адаптировал, был режим отладки, который я удалил и надеялся, что проблема была решена.Я не могу думать ни о чем другом, чтобы попытаться.Это потому, что одновременно работает так много столбцов с похожим кодом?Любая идея, почему это происходит только после изменения поля в записи?
{
"$schema": "https://developer.microsoft.com/json-schemas/sp/column-formatting.schema.json",
"elmType": "div",
"attributes": {
"class": "=if(toString([$SummaryPlanReceived]) == '' && [$UnabridgedSumSentToPM] >= '1','sp-field-severity--warning','')"
},
"children": [
{
"elmType": "span",
"style": {
"display": "inline-block",
"padding": "0 4px"
}
},
{
"elmType": "span",
"txtContent": "@currentField"
}
]
}
Я просто не понимаю, почему происходит какой-либо эксплойт, потому что я следовал примеру кода Microsoft и из-за отсутствияДокументация непрофессионала о том, что такое heapspray, я просто не знаю, где искать ответы.Большое спасибо за понимание!