iFrame src что-то кроме javascript: ложь, но тот же эффект - PullRequest
3 голосов
/ 24 марта 2010

Есть ли другой способ написать javascript:false, который более приятен?

Я создаю функцию печати для приложения для интрасети (для IE6) и печатаю страницу, используя iframe:

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

Не имея javascript:false в src, я получу всплывающее окно "Эта страница содержит как защищенные, так и незащищенные элементы" при его создании. Однако недостатком этого является то, что «javascript: false» печатается как заголовок в левом нижнем углу каждой страницы (вместо about: blank или что-то более полезное).

Есть ли какая-нибудь техника javascript, которую я могу написать javascript:false, но в более чистых терминах? Я пробовал что-то вроде этого

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

Но я не мог заставить это работать. Есть еще идеи?

Ответы [ 3 ]

1 голос
/ 24 марта 2010

Как насчет существующего, но пустого ресурса, использующего тот же протокол?

<iframe id="printIFrame" src="https://example.com/empty.html"></iframe>

Чтобы сделать его идеальным, вы можете даже empty.html отправить заголовок 204 No Content, чтобы обозначить его пустым. (Информация здесь )

1 голос
/ 17 мая 2013

Во избежание нежелательных запросов вы должны использовать <iframe src="about:blank"></iframe>

0 голосов
/ 24 марта 2010

Я думаю, вы должны использовать "/blank.do" или что-то с того же сервера (или, скорее, источника), как (временный?) Src для вашего iframe Тогда вы не должны получать "небезопасные" вещи.
Почему вы хотите / должны это делать с помощью javascript?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...