Fixing the IE 8 warning – ‘Do you want to view only the webpage content that was delivered securely?’
April 23, 2009 in
HTTPS , Internet Explorer
In a previous blog post, we talked about the problem of using HTTP based resources, such as images, on a secure HTTPS page. Internet Explorer interrupts the download and displays a confirmation dialog whenever it detects the use of mixed content on a secure page.
In IE 7 and ealier, this dialog would cause annoyance to users but generally didn’t cause any other significant problems. This was because it was worded in such a way that most users would click on the Yes button and allow non-secure content to be downloaded.
However, the wording in the IE 8 version of this dialog has changed:
To download the content a user would now have to click on the No button. As we know, most people using the web only scan text and avoid reading it if at all possible! They will usually go for the Yes button if there is not an OK button.
Some sites are going to find that their secure pages in IE 8 have the following problems:
- Any non-secure HTTP image beacons used for analytics data gathering will often be ignored
- The page may not display or even work correctly if it relies on non-secure images, CSS or Javascript
Therefore, avoiding mixed content on HTTPS pages is even more important now that IE 8 has been released. It often becomes an issue when using third party services such as analytics or Content Delivery Networks (CDN). For example, we avoided the use of Google hosted Ajax libraries on our site until Google added HTTPS support.
As mention in the previous blog post, an IE user you can disable this warning by:
- Going to Tools->Internet Options->Security
- Select the Security tab
- Click on the Internet zone icon at the top of the tab page
- Click the Custom Level button
- In the Miscellaneous section change Display mixed content to Enable
- Repeat steps 1 – 5 for the Local intranet and Trusted sites zones
However, if you are developing a web site you can’t expect your visitors to do this. It is better to fix the cause of the problem so that the warning is not displayed by default in IE 8. The only way to do this warning is to ensure that your HTTPS pages only access embedded resources using the HTTPS protocol. You can do this by following these steps:
- Use a sniffer like HttpWatch that supports HTTPS and shows files being read from the browser cache. The free Basic Edition is sufficient for this because you only need to see the URLs being accessed.
- Access the page causing the problem and click No when you see the security warning dialog.
- Any HTTP resources shown in the HttpWatch window are the source of the problem; even if they loaded directly from the browser cache and didn’t cause a network round trip:
- If you don’t initially see any HTTP based resources, try refreshing the page because a non-secure image may have been retrieved from the IE or Firefox image cache
EDIT #1: If you are a web developer trying to track down why your page causes this warning please also take a look at https://blog.httpwatch.com/2009/09/17/even-more-problems-with-the-ie-8-mixed-content-warning/ where we cover some javascript snippets that can also trigger this warning. The comments section of both of these posts also contain useful information where people have found and solved related issues.
EDIT #2: Updated instructions to apply the change to all network zones
I have my Internet Explorer settings under the Security tab in Internet, Intranet and Trusted Sites all checked to enable mixed content. However, I am STILL getting the popup. Does anyone know if there another setting that may be causing this? Thanks.
I had this problem. I use AVAST. In AVAST settings, I turned off the AVAST IE browser plug-in and the mixed content pop-ups went away. Yay!
Fixed … All it required was — CLICK “NO”
thanks a ton
Thanks a ton!!It works!!
Helped me get rid of one of Microsoft’s biggest trolls. thk u!
thanks for all your help, I appreciate it.
Thanks! This was driving me nuts!
Great article! Thanks
Thanks man this was really annoying and now it’s gone!
Thanks, you saved me from those exasperating messages. In our case it was due to referencing some jquery sites. used httpwatch as recommended, removed the references as they weren’t even needed and now, it works to perfection. Bless you.
helps me a lot. thanks
Well i did that with local intranet and trusted sites but the issue continued so i did it with internet also and it worked :) thanks
Thanks for posting this. my company’s intranet and other sites always trigger this error and now I know how to disable it. this will keep me from losing my mind every five minutes. Thank you!!!
Ok so I installed httpwatch. Cleared the browser cache in IE8 and opened the url that pops up this message. But I see no http://.. call in the httpwatch log file. Clicking NO or YES is not an option neither is letting users change their security settings as they cannot even change it due to IT restrictions.
Any thought to sniff out what the source is of non secure references in a web application? I couldn’t find any reference to http://.. resources in js, java, html, jsp or xhtml files.