Microsoft JScript运行时错误:IE中的Dropbox.js被拒绝访问

Microsoft JScript runtime error: Access is denied Dropbox.js in IE

本文关键字:Dropbox js 拒绝访问 中的 IE JScript 运行时错误 Microsoft      更新时间:2023-09-26
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/dropbox.js/0.9.0/dropbox.min.js"></script>

嗨,我正在使用上面的文件访问dropbox函数。它包含所有的dropbox函数。我把这个包括在我的申请中,我使用以下代码使用writefile函数将文件上载到dropbox
这在chrome和Mozilla浏览器中运行良好,但在IE中出现了错误
错误为:"Microsoft JScript运行时错误:访问被拒绝">
请任何人帮助我如何解决这个IE错误,并告诉我为什么这个错误只适用于IE浏览器?

 var UploadToDropbox = new Dropbox.Client({ key: consumerKey, secret: consumerSecret, token: accessToken, tokenSecret: accessTokenSecret, dropbox: true });
            UploadToDropbox.authenticate(function (error, UploadToDropbox) {
                if (error) {
                    alert('Something wrong here.');
                }
                else {
                    UploadToDropbox.writeFile("HelloWorld.txt", "Hello, world!'n", function (error, stat) {
                        if (error) {
                            return showError(error);  // Something went wrong.
                        }
                        alert("File saved to your dropbox successfully. ");
                    });
                }
            });

嗨,谢谢你回复我的问题,我试过了,但还是出现了同样的错误。

好的,现在我该怎么解决这个错误。

我也试过这个

<script type="text/javascript">
        // Hack to make dropbox.js works in IE8, IE9.
        if (!window.btoa) window.btoa = base64.encode; 
        if (!window.atob) window.atob = base64.decode;
    </script>

但是同样的错误。

打开IE->工具-->InternetOptions

在"安全"选项卡->选择"区域为Internet"-->单击"自定义级别"按钮--->在"杂项"下的"跨域访问数据源"中选中"启用"。

IE似乎不能很好地处理触发DOM控件的javascript事件。因此,如果存在此类事件操作,请尝试删除它们。

通常意味着您正在尝试更新当前安全设置不允许的属性或访问内容。

有时,由于使用了不推荐使用的方法,也会发生这种情况。

问题中的破解没有必要。dropbox.js封装了自己的atob/btoa实现,该实现用于IE<=9.您可以通过访问IE Developer Tools控制台中的Dropbox.Util.atobDropbox.Util.atob来尝试它。

base64代码:https://github.com/dropbox/dropbox-js/blob/master/src/base64.coffee

首先,请运行checkbox.js示例代码来检查您的IE设置。如果示例有效(您可以登录、添加任务、将其标记为完成并删除(,则您的IE设置是可以的,问题出在其他地方。

checkbox.js:https://dl-web.dropbox.com/spa/pjlfdak1tmznswp/checkbox.js/public/index.html

其次,确保使用https://提供HTML页面。Dropbox API服务器使用https,并且IE<=9不允许从http页面到https服务器的跨域请求。

第三,您不应该在authorize调用中需要token和tokenSecret参数。

如果您仍然得到JScript运行时错误,您能指出导致它的代码行吗?另外,考虑在dropbox.js GitHub页面上打开一个问题。这将得到更快的响应。