2

わかりました、これは非常に多くの変数を含むため、注意が必要です。

  • Webdav サーバー。私は webdav .net サーバーを使用しました: http://www.webdavsystem.com/server
  • ブラウザー: クロム 28.0.1500.95 m、Firefox 23、IE 9
  • NPAPI ブラウザー用のオフィス認証プラグイン。MS Office 2010 SP2 14.0.7015.1000 (32 ビット) を使用しています。プラグイン dll のバージョンは、C:\Program Files (x86)\Microsoft Office\Office14\NPAUTHZ.DLL - 14.0.4730.1010、C:\Program Files (x86)\Microsoft Office\Office14\NPSPWRAP.DLL: 14.0 です。 4761.1000

IT Hit のソフトウェアを使用して、ファイル システムのファイルを表示する webdav サーバーを含む単純な C# プロジェクトを作成しました。プロジェクトはhttps://dl.dropboxusercontent.com/u/35370420/TestPlugin.zipからダウンロードできます。webdav インターフェイスを介して利用できるファイルは、App_Data\WebDav\Storage に保存されます。

JavaScript ajax ブラウザー ( http://www.webdavsystem.com/ajaxfilebrowser ) を使用してドキュメントを編集しようとすると、特定のファイルでドキュメントの編集メニューが失敗します。VS2010 で TestPlugin プロジェクトを開いて実行し、[Browse using Ajax File Browser] をクリックする必要があります。彼らの JavaScript クライアントは、Chrome と FireFox で ms office プラグインを使用していることを知っています。

ここに私のメモがあります:

  • もともと、私は実際のアプリで問題があり、プラグインには 111 文字の制限があると考えていました。つまり、URL に 111 文字を超えるファイルを開こうとすると、プラグインは失敗しました。実際のアプリケーションを使用したテスト中に、ファイルを開こうとしても機能せず、機能することを知っていた 2 番目のファイルを開こうとしたが、警告ダイアログにでっち上げの名前が表示されるという奇妙な現象も見られました。前のファイル名のサフィックスが追加された 2 番目のファイルの名前。
  • ゼロから始めることにし、webdav.net ソフトウェアに基づいて C# プロジェクトを作成しました。長さの異なるファイルを webdav ストレージに追加しました。Browse Ajax File ブラウザー (各ファイルを右クリックし、[Edit Document] を選択) を使用したときに気づいたことは次のとおりです。

  • FF 23 は正常に動作し、IE 9 は正常に動作し、問題はありません

  • Chrome(開くことができないと言ったのは、ブラウザに次のメッセージが表示されることを意味していました:現在のファイルを編集のために開くことはできません)
    • 01234567890123456789012345678901234567890123456789012345678901234567890123456789012.docx が開かない
    • 012345678901234567890123456789012345678901234567890123456789012345678901234567890123.docx は正常に開きます
    • 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234.docx が開かない
    • 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345.docx が開かない
    • 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456.docx が開かない
    • 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567.docx が開かない
    • 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678.docx は正常に開きます
    • 警告ダイアログが表示されても test.xlsx が開きませんが、ライブラリはファイルを編集できないと報告します

最初の URL の長さは 110 文字です。

http://localhost:9658/01234567890123456789012345678901234567890123456789012345678901234567890123456789012.docx

だから、私の質問はこれです: なぜクロムの動作に一貫性がないのですか? 結局のところ、私はパターンが何であるかはよくわかりません。ms プラグインに問題がありますか? 私はそう思いますが、100%確実ではありません。

プロジェクトには、webdav インターフェイスに表示される他のファイルが含まれています。それらが機能するかどうかを試してみてください。

アップデート:

興味深いことに、FF 22 は Chrome と同じように動作し、バージョン 23 にアップグレードしたところ、すべてのファイルが開かれ、正常に動作するようになりました。

4

1 に答える 1

2

OK、この号の Stuart の説明のおかげで、物事がより理にかなったものになり始めました。基本的に、JavaScript から渡される文字列の処理に関しては、Microsoft プラグインの実装方法に問題があると思います。Stuartは問題を示す質問を投稿しました。プラグイン コードは、実際には保証されていない場合でも、文字列が null で終了することを想定しています。

私は実際のアプリでテストを行い、null 文字を URL に追加しましたurl + '\0'

問題は残っています。マイクロソフトはプラグインを修正するつもりですか?

于 2013-08-13T23:21:00.010 に答える