Изчистване на документ
August 26, 2008 | In: Ничии
Наложи ми се преди малко да направя следния 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 = "";



2 Responses to Изчистване на документ
Веселин
August 26th, 2008 at 8.51 pm
Това звучи като недоразумение. Защо ще отваряш някакво конкретно URL и после ще го чистиш, като можеш директно да отвориш празен джам, още в window.open()?
После - преди document.write можеш да използваш document.open(), ефектът би бил същия, но няма смисъл…
Не на последно място, document.body.innerHTML = ”;, сещаш се?
boyan
August 27th, 2008 at 10.56 pm
Усещам че не съм се изразил като хората. Аз не отварям конкретно URL, а отварям джам в който да пиша.
Но признавам че просто не съм се сетил за другите варианти