ver sincronizar habilitar explorador error ejecutar desde con como cliente archivos abrir internet-explorer google-chrome sharepoint firefox

internet-explorer - habilitar - sincronizar archivos con sharepoint



Cómo abrir archivos de SharePoint en Chrome/Firefox (3)

¡Gracias a @LyphTEC que brindó una forma muy interesante de abrir un archivo de Office en modo de edición!

Me dio la idea de cambiar la función _DispEx que se llama cuando el usuario hace clic en un archivo en una biblioteca de documentos. Al piratear la función original, podemos abrir un cuadro de diálogo (para Firefox / Chrome) y preguntar al usuario si quiere leer solo o editar el archivo:

Vea a continuación el código JavaScript que utilicé. Mi código es para archivos de Excel, pero también podría modificarse para que funcione con documentos de Word:

/** * fix problem with Excel documents on Firefox/Chrome (see https://blog.kodono.info/wordpress/2017/02/09/how-to-open-an-excel-document-from-sharepoint-files-into-chromefirefox-in-readonlyedit-mode/) * @param {HTMLElement} p the <A> element * @param {HTMLEvent} a the click event * @param {Boolean} h TRUE * @param {Boolean} e FALSE * @param {Boolean} g FALSE * @param {Strin} k the ActiveX command (e.g. "SharePoint.OpenDocuments.3") * @param {Number} c 0 * @param {String} o the activeX command, here we look at "SharePoint.OpenDocuments" * @param {String} m * @param {String} b the replacement URL to the xslviewer */ var bak_DispEx; var modalOpenDocument; // it will be use with the modal SP.SOD.executeOrDelayUntilEventNotified(function() { bak_DispEx = _DispEx; _DispEx=function(p, a, h, e, g, k, c, o, m, b, j, l, i, f, d) { // if o==="SharePoint.OpenDocuments" && !IsClientAppInstalled(o) // in that case we want to open ask the user if he/she wants to readonly or edit the file var fileURL = b.replace(/.*_layouts//xlviewer/.aspx/?id=(.*)/, "$1"); if (o === "SharePoint.OpenDocuments" && !IsClientAppInstalled(o) && //.xlsx?$/.test(fileURL)) { // if the URL doesn''t start with http if (!/^http/.test(fileURL)) { fileURL = window.location.protocol + "//" + window.location.host + fileURL; } var ohtml = document.createElement(''div''); ohtml.style.padding = "10px"; ohtml.style.display = "inline-block"; ohtml.style.width = "200px"; ohtml.style.width = "200px"; ohtml.innerHTML = ''<style>'' + ''.opendocument_button { background-color:#fdfdfd; border:1px solid #ababab; color:#444; display:inline-block; padding: 7px 10px; }'' + ''.opendocument_button:hover { box-shadow: none }'' + ''#opendocument_readonly,#opendocument_edit { float:none; font-size: 100%; line-height: 1.15; margin: 0; overflow: visible; box-sizing: border-box; padding: 0; height:auto }'' + ''.opendocument_ul { list-style-type:none;margin-top:10px;margin-bottom:10px;padding-top:0;padding-bottom:0 }'' + ''</style>'' + ''You are about to open:'' + ''<ul class="opendocument_ul">'' + '' <li>Name: <b>''+fileURL.split("/").slice(-1)+''</b></li>'' + '' <li>From: <b>''+window.location.hostname+''</b></li>'' + ''</ul>'' + ''How would like to open this file?'' + ''<ul class="opendocument_ul">'' + '' <li><label><input type="radio" name="opendocument_choices" id="opendocument_readonly" checked> Read Only</label></li>'' + '' <li><label><input type="radio" name="opendocument_choices" id="opendocument_edit"> Edit</label></li>'' + ''</ul>'' + ''<div style="text-align: center;margin-top: 20px;"><button type="button" class="opendocument_button" style="background-color: #2d9f2d;color: #fff;" onclick="modalOpenDocument.close(document.getElementById(/'opendocument_edit/').checked)">Open</button> <button type="button" class="opendocument_button" style="margin-left:10px" onclick="modalOpenDocument.close(-1)">Cancel</button></div>''; // show the modal modalOpenDocument=SP.UI.ModalDialog.showModalDialog({ html:ohtml, dialogReturnValueCallback:function(ret) { if (ret!==-1) { if (ret === true) { // edit // reformat the fileURL var ext; if (//.xlsx?$/.test(b)) ext = "ms-excel"; if (//.docx?$/.test(b)) ext = "ms-word"; // not currently supported fileURL = ext + ":ofe|u|" + fileURL; } window.location.href = fileURL; // open the file } } }); a.preventDefault(); a.stopImmediatePropagation() a.cancelBubble = true; a.returnValue = false; return false; } return bak_DispEx.apply(this, arguments); } }, "sp.scriptloaded-core.js")

Yo uso SP.SOD.executeOrDelayUntilEventNotified para asegurarme de que la función se ejecutará cuando se cargue core.js

En Internet Explorer, puedo abrir archivos Sharepoint directamente desde sus enlaces para que el archivo en Sharepoint se actualice automáticamente cuando lo guardo. Pero en Chrome, pide descargar el archivo en lugar de abrirlo. En Firefox, puede abrir el archivo pero aún así simplemente lo descarga a una carpeta temporal y luego lo abre.

¿Cómo puedo abrir directamente los archivos Sharepoint en Chrome o Firefox como lo hago en Internet Explorer?


Instalar la extensión de Chrome IE Tab hizo el trabajo por mí.

Tiene la capacidad de detectar automáticamente las URL, por lo que cada vez que navego por nuestro SharePoint emula Internet Explorer. Finalmente puedo abrir documentos de Office directamente desde Chrome.

También puede instalar IETab for FireFox.