Плагин MS Office Firefox (NPAPI) - PullRequest
2 голосов
/ 03 января 2012

У меня проблемы с открытием документа Microsoft Office в FireFox - с помощью плагина Microsoft Office 2010.

Пожалуйста, см. http://msdn.microsoft.com/en-us/library/ff407576.aspx

Я пробую его с помощью следующего HTML-документа вFire Fox.Я подтвердил, что плагин MS Office 2010 установлен.

    <doctype html>
    <html>
    <head>
    <script>
    function OpenWebDavDocument(url, extension) {
        debugger;
        var hownowPlugin = document.getElementById("winFirefoxPlugin");
        hownowPlugin.EditDocument2(url, null)
    }
    </script>
    </head>
    <body>
        <object id="winFirefoxPlugin" type=”application/x-sharepoint">
        <a href="#" onclick="OpenWebDavDocument('bfd42001/hownow/files/Records/12182', 'xlsx')" style="">Excel Doc</a>
        <a href="#" onclick="OpenWebDavDocument('hbfd42001/hownow/files/Records/8924', 'docx')" style="">Word Doc</a>
    </body>
    </html>

При проверке в FireBug появляется следующая ошибка:

hownowPlugin.EditDocument2 не является функцией

Может ли кто-нибудь указать, где я иду не так?

Ответы [ 3 ]

2 голосов
/ 22 мая 2012

Было внесено одно дополнительное изменение, чтобы заставить работать ссылку.

В настоящее время у вас есть:

hownowPlugin.EditDocument2(url, null);

Я удалил 2:

hownowPlugin.EditDocument(url, null);

Документацию по FFWinPlugin можно найти по адресу http://msdn.microsoft.com/en-us/library/ff407576.aspx.

Я занимаюсь аналогичным проектом, в котором мне нужно поддерживать несколько браузеров.Мой исходный код редактирования был от Милтона (http://milton.io/index.html).Это работало только в IE.Объединяя код IE и код Firefox, я смог придумать это.

<script type="text/javascript">
    var fNewDoc = false;
    var EditDocumentButton = null;
    try {
        EditDocumentButton = new ActiveXObject('SharePoint.OpenDocuments.3');
        if (EditDocumentButton != null) { fNewDoc = true; }
    } catch(e) {}

    var L_EditDocumentError_Text = "Editing not supported.";
    var L_EditDocumentRuntimeError_Text = "Sorry, couldn't open the document.";

    function editDocument(strDocument) {
        if (fNewDoc) {
            if (!EditDocumentButton.EditDocument(strDocument)) {
                alert(L_EditDocumentRuntimeError_Text);
            }
        } else {
            try {
                var hownowPlugin = document.getElementById("winFirefoxPlugin");
                hownowPlugin.EditDocument(strDocument, null);
            } catch (e) { alert(L_EditDocumentError_Text); }
        }
    }
</script>
<object id="winFirefoxPlugin" type="application/x-sharepoint" width="0" height="0" style="visibility: hidden;"></object>
1 голос
/ 08 апреля 2013

Кстати, у меня были проблемы с этой работой в Firefox. Следует упомянуть, что путь к документу должен быть абсолютным, а не относительным.

    var hownowPlugin = document.getElementById("winFirefoxPlugin");
    var version = hownowPlugin.GetOfficeVersion();
    hownowPlugin.EditDocument("http://example.com/word.doc", version);
1 голос
/ 03 января 2012

У меня нет этого плагина, но, возможно, он не работает из-за опечатки (ошибка на странице Microsoft).У вас есть

type=”application/x-sharepoint"

вместо

type="application/x-sharepoint"

(первая цитата)

Также укажите ! в <!doctype html>

...