Авто-мавто Спамът
Aug 26

Наложи ми се преди малко да направя следния JavaScript: трябваше да покаже един текст в ново прозорче. Това е тривиална до болка задача :). Има, обаче, една дребна подробност, която може да се стори досадна на мнозина - да фокусирате прозореца и да се уверите че съдържанието му е празно, преди да пльоснете кода там.
Името на отворения прозорец е едно и също, а текстовете, показвани в него са различни. Така се получава че в прозореца само се добавя текст, а стария не мърда. Едно елементарно решени беше да изчистя документа преди да почна да пиша в него. Да де ама Document.clear() не работи от една кофа време вече. Е тогава как? Еми еуементарно се оказа… просто зареждате документа ABOUT:BLANK  и сте готови.

win = window.open(...);
win.location = 'about:blank'; // Изчистване на документа
win.document.write(ЦЕЛИЯТ_HTML_ДОКУМЕНТ);
win.focus();

Фокусът на последния ред е полезен, защото ако пишете във въпросния документ, браузъра няма да разбере че трябва да го изкара най-отпред и това съдържание ще остане най-отдолу…, а тогава кел файда.

П.С.
Велин ме корегира, че този вариант, който съм ползвал, не е най-интелигентния. Според него преди да пиша новите данни просто мога да сложа

win.document.open();

или да просто изпразня документа преди да пиша

win.document.body.innerHTML = "";

публикувано от boyan
етикети: ,

2 коментара на “Изчистване на документ”

  1. Веселин Каза:

    Това звучи като недоразумение. Защо ще отваряш някакво конкретно URL и после ще го чистиш, като можеш директно да отвориш празен джам, още в window.open()?

    После - преди document.write можеш да използваш document.open(), ефектът би бил същия, но няма смисъл…

    Не на последно място, document.body.innerHTML = ”;, сещаш се?

  2. boyan Каза:

    Усещам че не съм се изразил като хората. Аз не отварям конкретно URL, а отварям джам в който да пиша.

    Но признавам че просто не съм се сетил за другите варианти ;)

Leave a Reply