JavaScript方法导致非安全项IE6

时间:2009-06-30 22:10:43

标签: javascript jquery internet-explorer ssl https

所以我对这个感到困惑。我有一个函数负责在使用SSL上的IE6查看我的网页时出现非安全项警告消息。如果我注释掉整个函数,那么消息就会消失。如果我只是注释掉一个方法调用它仍然存在。真正让我疯狂的是,如果我从方法中移除所有逻辑......消息仍然是??? !!!我确实要评论整个方法,包括签名。该方法包含JQuery库逻辑,但我不明白为什么除了签名之外所有的函数逻辑都被评论。有没有人见过这个?

这是功能:

function styleNavigationCorners() {
        if (!($.browser.msie && $.browser.version.substr(0, 1) == '6')) {
            $(".DecisionPointTitle").corner({
                tl: { radius: 8 },
                tr: { radius: 8 },
                bl: { radius: 8 },
                br: { radius: 8 },
                antiAlias: true,
                autoPad: false
            });
            $(".DecisionPointHeadline").corner({
                tl: { radius: 8 },
                tr: { radius: 8 },
                bl: false,
                br: false,
                antiAlias: true,
                autoPad: false
            });
            $("#NavigationFooter").corner({
                bl: { radius: 8 },
                br: { radius: 8 },
                tl: false,
                tr: false,
                antiAlias: true,
                autoPad: false
            });
        }

    }

这仍然给我提供非安全警告? :

   function styleNavigationCorners() {
//            if (!($.browser.msie && $.browser.version.substr(0, 1) == '6')) {
//                $(".DecisionPointTitle").corner({
//                    tl: { radius: 8 },
//                    tr: { radius: 8 },
//                    bl: { radius: 8 },
//                    br: { radius: 8 },
//                    antiAlias: true,
//                    autoPad: false
//                });
//                $(".DecisionPointHeadline").corner({
//                    tl: { radius: 8 },
//                    tr: { radius: 8 },
//                    bl: false,
//                    br: false,
//                    antiAlias: true,
//                    autoPad: false
//                });
//                $("#NavigationFooter").corner({
//                    bl: { radius: 8 },
//                    br: { radius: 8 },
//                    tl: false,
//                    tr: false,
//                    antiAlias: true,
//                    autoPad: false
//                });
//            }

        }

我搜索过没有找到重复的功能签名。有人可以帮忙吗?谢谢!

-Nick

4 个答案:

答案 0 :(得分:3)

IE6中包含一个错误。

JavaScript协议URI被视为不安全,当遇到它们时会导致混合内容警告。请在此处查看我的答案:How To Tell What Files IE Thinks Are "nonsecure"?,该工具可帮助您验证是否是导致此问题的JavaScript协议URI。

答案 1 :(得分:1)

我可以假设您使用的是curvy corners jquery wrap吗? 如果是,那么您将在该库中找到以下问题。它在ie6

上运行以下内容
  document.write("<script id='__ie_onload' defer='defer' src='javascript:void(0)'><\/script>");

将src设置为void将导致非安全警告。 IIRC您可以尝试将其更改为javascript:false - 再次另一个hack或甚至在服务器上包含一个空白文件并指向该文件以避免警告。无论您选择什么,都必须更改源库。

就在旁边 - 你真的需要那些角落吗?将jk减少26k是一笔巨大的代价!

答案 2 :(得分:1)

我收到了相同的SSL错误,没有HTTP资源调用。在代码中找到了一个javascript(void)5次,这是因为当我删除这些部分时错误就消失了。只是为了让大家知道什么对我有用,可以保留碎片并消除错误......

= // 0无效,因为它会尝试将用户带到页面0.0.0.0

= https:javascript:false无效,因为它试图将用户带到页面并获得404。

对我来说,我真的不需要href,因为我使用&lt; a&gt;使用onclick命令使其显示或隐藏页脚的不同部分。这是我必须将代码更改为。

    <li id="li_MainMenu"    class="li_click on" title="Categories" onclick="showHide(this.getAttribute('id').replace( 'li_', '')); onOff(this.getAttribute('id'));"><a href="javascript(void);">Why Factory Bunk Beds </a></li>

更改为:

    <li id="li_MainMenu"    class="li_click on" title="Categories" onclick="showHide(this.getAttribute('id').replace( 'li_', '')); onOff(this.getAttribute('id'));"><a>Why Factory Bunk Beds </a></li>

我只是删除了:

    href="javascript(void);"
来自标签的

它起作用了。

答案 3 :(得分:0)

这是在脚本标签内吗?或者脚本是否包含在src属性中?如果它在script标签内,我不知道为什么会这样做。

另外,您能给我们一个指向此页面的链接吗?


尝试:

<script type="text/javascript" src="https://path/to/file"></script>