views:

724

answers:

3

So I am baffled by this one. I have a function that is responsible for a non-secure item warning message to appear when viewing my web page from with IE6 on SSL. If I comment out the entire function the message goes way. If I just comment out the one method call it remains. What is really driving me nuts is if I remove all of the logic from within the method.... the message remains???!!! I literally have to comment out the whole method including the signature. The method contains JQuery library logic but I don't see why that would matter when all of the function logic is commented except for the signature. Has anyone seen this before?

Here is the function:

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
            });
        }

    }

This still gives me the non-secure warning? :

   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
//                });
//            }

        }

I have searched for duplicate function signatures have found none. Can anyone help? Thanks!

-Nick

A: 

Is this inside a script tag? Or is the script included with the src attribute? If it is inside the script tag, I have no clue why it would be doing that.

Also, can you give us a link to this page?


Try:

<script type="text/javascript" src="https://path/to/file"&gt;&lt;/script&gt;
Thomas
This script is in a external js file which is getting include via a src attribute. No.. unfortunately the page is not publicly hosted.
Nick
If it is an external file, try forcing IE6 to use HTTPS by including the protocol and the full path name to the file: i.e. "https: //path/to/file" (note that the space is there to force the comment to not turn it into a link)
Thomas
+1  A: 

Can I assume you are using the curvy corners jquery wrap? If so then you will find the following issue with that library. It runs the following on ie6

  document.write("<script id='__ie_onload' defer='defer' src='javascript:void(0)'><\/script>");

Setting the src to void will cause the non secure warning. IIRC you could try changing this to javascript:false - again another hack or even include a blank file on the server and point to that to avoid the warning for sure. Whatever you opt for youll have to change the source library.

Just as an aside - Do you really need those corners? 26k minified of js is a hefty price to pay!

redsquare
Yes.. I need to corners. The library did contain this IFrame... changing the src to javascript:false; was the answer.
Nick
I'm using HTTPS, and **src=javascript:false** did not work for me. The error remained. Instead I used **src=//0** or **src=https:javascript:false** .
altermativ
+3  A: 

IE6 contains a bug here.

JavaScript-protocol URIs are treated as insecure, and this results in a mixed content warning when they are encountered. See my answer here: http://stackoverflow.com/questions/96382/how-to-tell-what-files-ie-thinks-are-nonsecure/1022020#1022020 for a tool that will help you verify that it's the JavaScript-protocol URI causing the issue.

EricLaw -MSFT-
in the case of the above issue fiddler would not help I believe
redsquare
No, but the ScriptFree tool I mentioned in my response will.
EricLaw -MSFT-
Ah sorry, I saw your name and instant thought fiddler!
redsquare