Есть несколько отличий в том, как старые версии IE обрабатывают javascript по сравнению с современными версиями Chrome, Firefox, IE и т. д.
Самый простой способ, который я нашел для исправления SSRS 2008 R2, — настроить IE на использование режима совместимости для моего сайта SSRS и использовать IE только для управления SSRS.
Однако мне не удалось убедить всех своих пользователей в необходимости перехода на IE, поэтому пришлось искать более универсальное решение. Чтобы заставить SSRS 2008 R2 работать в современных браузерах, я изменил файл ReportingServices.js, который находится в папке C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager\js.
Я исправил следующие проблемы:
- element.value был заменен на element.getAttribute("value")
- table.cells.length был заменен на table.rows.length.
- table.cells[index] был заменен на table.rows[index].cells[0]
- Была добавлена базовая функция «GetElementsByClass», чтобы обойти различия в том, как работает «lastChild».
- Добавлена функция pageLoad, которая обновляет значение element.style.overflow элемента div, в котором хранятся обработанные отчеты.
Вы можете внести эти изменения самостоятельно, но для удобства вы можете просмотреть весь файл ReportingServices.js, который я использую, по адресу www.pottersolutions.com/ssrs-2008-r2.html (файл слишком велик для публикации в этом ответе).
Всегда не забывайте делать резервную копию вашего файла, прежде чем вносить какие-либо изменения!
person
Jesse Potter
schedule
27.08.2014