Forum Moderators: open

Message Too Old, No Replies

Connection Partially Encrypted

Error caused by javascript?

         

nimonogi

6:54 am on Sep 11, 2009 (gmt 0)

10+ Year Member



Hello,

I'm facing a problem with secured pages (https). Even though i'm parsing all images/files through https i'm still getting that connection is partially encrypted.

On my browser, if i do not allow the non-secure items to be displayed, i'm getting an error which makes me believe that this is caused by a "preload images" javascript.

Here is the javascript i use:


function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}

Is there a chance this code causing the "Connection Partially Encrypted" problem?

Thanks in advance!

rocknbil

6:35 pm on Sep 11, 2009 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Nah that's just the junk preloader/mouseover code from Dreamweaver. It works relative to the document, so if the document is over SSL, so will be the preloads.

This error is most likely from a) Google Analytics or b) from a Flash object in the page.

G.A. has both a secure version and a non-secure version. You can just put a link to the secure version, but this will slow down non-secure pages (due to encryption over https.) The best solution is to detect http/https and set the URL to the urchin accordingly.

It **may** be other elements, but most of the time you can spot these right off -full URL's beginning with HTTP, etc. Note that links won't cause this:
<a href="http://example.com">

but images and other elements included in the page will:

<img src="http://.....

Second if you use Flash, the URL's directly in Flash will cause this if you say, import data within Flash using the full URL as above. Use a relative URL instead.

var xmlSource = "/directory/flash-playlist.xml";

not

var xmlSource = "http://example.com/directory/flash-playlist.xml";

Recent thread on unencrypted items [webmasterworld.com]

Really hard to find unencrypted items [webmasterworld.com]