views:

338

answers:

3

Is there any other way to write javascript:false that is more pleasant?

I'm building a print functionality for an intranet app (for IE6) and I make the printed page using an iframe:

$('body').append('<iframe id="printIFrame" src="javascript:false"></iframe>');
$("#printIFrame").attr('style','position:absolute;left:-500px;top:-500px;');

Without having javascript:false in the src, I'll get the "This page contains both secure and nonsecure items" popup when I create it. However the downside of this is that "javascript:false" gets printed as the title on the bottom left of each page (instead of about:blank or something more useful).

Is there some kind of javascript technique that I can write javascript:false but in cleaner terms? I tried something like this

var PrintOut = false;
$('body').append('<iframe id="printIFrame" src="PrintOut"></iframe>');

But I couldn't get that working. Any other ideas?

A: 

I think you should use a "/blank.do" or something from the same server (or origin, rather) as (temporary?) src for your iframe. Then you should not get the "insecure" stuff.
Why do you want/need it to be done by javascript?

npup
A: 

How about an existing, but empty, resource using the same protocol?

<iframe id="printIFrame" src="https://example.com/empty.html"&gt;&lt;/iframe&gt;

You could, to make it perfect, even have empty.html send a 204 No Content header to signify it's empty. (Info here)

Pekka
I think you meant status 204, right? That's "no content"; 402 is "payment required".
Eric Rath
@Eric yeah, typo! Corrected, thanks.
Pekka
A: 

I am trying to do something similar to what Macca is doing? Did the above solution work for you? For me it still keeps throwing the security error on IE6, though the false message goes away.

Anamika