Для решения проблемы 2)
вы можете умножить формулы полярности с помощью tfidf
Частота обратного документа мера того, сколько информации предоставляет слово, т. е. распространено оно или редко встречается во всех документах.
blockquote>
Можно получить его использование:
var b = document.body.getBoundingClientRect();
alert((b.right - b.left)/document.body.clientWidth);
Большое спасибо @niclasnorgren!
Также, если вам нужно выполнить проверку в IE 8, вы можете использовать window.screen.deviceXDPI и window.screen.deviceYDPI. По умолчанию установлено значение 96 точек на дюйм, и если вы увеличите масштаб, это число будет больше (или 144 при увеличении на 150%)
В принятом ответе есть небольшая синтаксическая ошибка (тело вместо document.body). Кажется, это тоже помогает.
var rect = document.body.getBoundingClientRect();
var zoomLevel = Math.round((rect.right-rect.left)/document.body.clientWidth * 100);