Google Chrome では動作するが IE9 では動作しない SP2010 ビジュアル Web パーツに以下の JavaScript コードがあります。Dropbox Chooser の Web サイトによると、 addEventListener は IE8 以下では機能しないとのことなので、これは心配です。
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DropboxControlUserControl.ascx.cs" Inherits="DropBoxWebPart.DropboxControl.DropboxControlUserControl" %>
<script type="text/javascript" src="https://www.dropbox.com/static/api/1/dropins.js" id="dropboxjs" data-app-key="xxxxxxxxxxxxxxx"></script>
<input type="dropbox-chooser" name="selected-file" id="db-chooser"/>
<script type="text/javascript">
document.getElementById("db-chooser").addEventListener("DbxChooserSuccess",
function(e) {
window.open(e.files[0].link)
}, false);
</script>
これを克服するために Dropbox.chooser(options) 関数を使用しようとしましたが、コードを配置する場所や関数を呼び出す場所がわかりません。このようなスクリプトに入れようとして、また document.getElementById("db-chooser").on または .attachevent を使用してみましたが、動作させることができなかったので、分離コードから呼び出す必要がありますか。
<script type="text/javascript">
Dropbox.chooser(options);
options = {
// Required. Called when a user selects an item in the Chooser.
success: function(files) {
alert("Here's the file link:" + files[0].link)
},
// Optional. Called when the user closes the dialog without selecting a file
// and does not include any parameters.
cancel: function() {
},
linkType: "preview" or "direct",
extensions: ['.pdf', '.doc', '.docx'],
};
</script>