Темы
Философия
Мысли
Словарик
Администрирование
Arduino
Находки
о сайте

Вторая жизнь Sharepoint Services 3.0

У продукта Sharepoint Services от Microsoft'а много достоинств, и есть недостатки. Главный из недостатков, не устраивающий не только меня - отсутствие поддержки браузеров, отличных от Internet Explorer. Поддержки главного достоинства - открытия файлов MS Office с сайта, со ссылки, с возможностью их сохранения "обратно" из соответствующего приложения простым нажатием кнопки "Сохранить".

Способ, как сие исправить, в течении долгих лет искал я безуспешно. Но недавно "припёрло" - решил поставить 64-битный MS Office 2019, и обнаружил, что файлы открываться перестали (

Причину нашёл - 32-битные ActiveX в Internet Explorer не взаимодействуют с 64-битным офисом (((

Перепробовал многое, Web extension с native messaging например ... в общем - не вышло. Решил бросить и поискать нестандартно. И нашёл способ изящный до неприличия. Короче - делюсь :)

Нужно зарегистрировать в реестре Windows свой протокол, я назвал davlink, reg-файл:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\davlink]
"URL Protocol"=""
[HKEY_CLASSES_ROOT\davlink\DefaultIcon]
[HKEY_CLASSES_ROOT\davlink\shell]
[HKEY_CLASSES_ROOT\davlink\shell\open]
[HKEY_CLASSES_ROOT\davlink\shell\open\command]
@="c:\\program files\\davlink\\davlink.cmd %1"

Далее, на страницу добавил jQuery и свой js-файл, который при клике на ссылку с файлом запрещает стандартное открытие файла, добавляет к адресу ссылки слева "davlink:" и через location.href открывает полученное:

$(function(){
$("a[href]").click((t) => {
var url = "davlink:" + location.protocol + "//" + location.hostname + $(t.target).attr("href");
window.location.href = url;
return false;
});
});

Ссылку я "восстанавливаю" до абсолютной, иначе какой-нибудь Word не поймёт что ему открывать :)))

Думаю, что вы сами сможете написать davlink.cmd и положить его в "правильную" папку.

Работоспособность проверена на Хроме, Яндекс, Лисичка и Опера браузерах последних версий. Также проверена работоспособность с 32-разрядным Office 2007. Всё работает :)

29.04.2023
Обратная связь
Написать нам