1

ITHit.WebDAV.Client.DocManager.EditDocument()IE8 中使用 ITHitWebDAVClient.js v1.6.0.1174调用时,浏览器会显示如下混合内容警告:iframe

IE8 安全警告

要继续,用户必须单击No。我怎样才能解决这个问题?我EditDocument()从 HTTPS 站点(例如:)调用,https://testfilebrowser.com/并且提供给的文件 URLEditDocument()是实现为HTTPListener(例如:)的 HTTPS WebDAV URL https://webdavhttplistener.com/folder/file.xlsx。站点 URL 和 WebDAV URL 位于两个不同的域中。

我还尝试在与调用者相同的网站下的 IIS 中实现 WebDAV 服务器,以便它们位于同一域中。那也没有用。例如:HTTPS 站点调用者https://testfilebrowser.com/和文件 URLhttps://testfilebrowser.com/DAV/folder/file.xlsx

我知道最终用户可能会选择通过调整浏览器安全设置来抑制混合内容警告,但这不是我正在寻找的解决方案。EditDocument()有没有办法确保从调用时根本不显示混合内容警告iframe

4

1 回答 1

1

EditDocument()从内部调用iframe在 IE8 中显示混合内容警告。解决此问题的一种方法是使用在to 调用ITHit之外的实例。iframeEditDocument()

例如:

<!-- include ITHitWebDAVClient.js on parent page outside of iframe -->
<script src="ITHitWebDAVClient.js"></script>

<iframe src="...">
    <button onclick="editDocument();">Edit</button>
    <script>
        function editDocument() {
            /*
             * grab ITHit instance from parent when this executes inside iframe so that
             * a mixed content warning is not shown in IE8 when calling EditDocument()
             */
            if (window.parent !== window && typeof window.parent.ITHit !== 'undefined') {

                // use parent's ITHit instance
                ITHit = window.parent.ITHit;

                // call EditDocument()
                ITHit.WebDAV.Client.DocManager.EditDocument(path)
            }
        }
    </script>
</iframe>
于 2014-06-26T21:50:33.027 回答