В библиотеке документов SharePoint 2013 у меня есть следующая функция JavaScript, присоединенная к событию onclick для каждого файла:
function logAccess(fp) {
var userID = dsource.user.userid.substring(7);
var userName = dsource.user.userName;
var fPath = '\\\\server\\folder\\subfolder\\subfolder2\\subfolder3\\subfolder4\\subfolder5\\';
var fso = new ActiveXObject('Scripting.FileSystemObject');
if (fso.FolderExists(fPath)) {
var s = fso.CreateTextFile(fPath + tStamp + '.txt');
s.writeline(userID + '|' + userName + '|' + fp);
s.Close();
}
}
Это создает файл .txt, который сообщает мне, кто и когда осуществлял доступ к какому файлу, и сохраняетэто в расположение сетевого диска (fPath).
Он работает, как и ожидалось, в Internet Explorer, но, поскольку он использует ActiveX, он не работает в Chrome, и у меня нет возможности включить расширение IE Tab дляChrome.
Я пытался использовать API-интерфейс filesaver.js, он доходит до создания файла .txt и его загрузки, но загружает его в папку загрузки по умолчанию для пользователя (я не могу указать сохранениепуть пути). См. Ниже:
function logAccessChr(fp) {
var userID = dsource.user.userid.substring(7);
var userName = dsource.user.userName;
var content = userID + '|' + userName + '|' + fp;
var filename = tStamp + '.txt';
var blob = new Blob([content], {
type: "text/plain;charset=utf-8"
});
saveAs(blob, filename);
}
Кто-нибудь может подумать о другом подходе для достижения этой цели в Chrome? Любое предложение приветствуется.