×
Creating solutions

Tipy a triky - ako automaticky otvoriť dokument (JavaScript/Dojo)

Pri tvorbe webových aplikácií je niekedy potrebné automaticky otvoriť dokument bez interakcie používateľa. Túto funkcionalitu je možné vykonať viacerými spôsobmi. V tomto článku sú predstavené dve základné techniky.
Prvý spôsob otvorenia dokumentu je prostredníctvom metódy open(). Táto metóda ale nemusí byť podporovaná všetkými prehliadačmi, resp. z bezpečnostného hľadiska môže byť otvorenie okna blokované buď internetovým prehliadačom alebo niektorou z bezpečnostných aplikácií.
Príklad: Otvorenie dokumentu prostredníctvom JavaScriptu a DOM.
1
2
var uri = "document.pdf";
window.open(uri, "_blank");
Z dôvodu reštrikcií, ktoré môžu ovplyvňovať použitie metódy open() je možné použiť nasledujúci postup. Vytvorenie elementu <a>, ktorý bude mať atribút style s hodnotou display: none; s odkazom na dokument, programatické kliknutie na vytvorený element a nakoniec jeho odstránenie. Uvedený postup je demonštrovaný na frameworku Dojo.
Príklad: Otvorenie dokumentu prostredníctvom frameworku Dojo.
1
2
3
4
5
6
7
8
9
10
11
12
13
require(["dojo/ready", "dojo/dom-construct", "dojo/dom",
"dojo/_base/window"],
function(ready, construct, dom, win) { ready(function() {
var uri = "document.pdf";
var fragment = "<a href='" + uri +
"' style='display: none;'" +
" id='tmpOpenDocument'>" +
"</a>";
construct.place(fragment, win.body(), "after");
dom.byId("tmpOpenDocument").click();
dom.byId("tmpOpenDocument").remove();
});
});

Záver

Okrem frameworku Dojo je možné daný postup rýchlo aplikovať aj s frameworkom jQuery. Rovnako je možné aplikovať daný postup aj priamo cez JavaScript a DOM, no v tomto prípade pôjde o rozsiahlejší programový kód.
Autor: Matej Lednár
Dátum: 17.5.2013
Kategória: Dojo
Značky: javascript, dojo, programovanie


Dojo,JavaScript,dojo,programovanie
No part of this article may be reproduced without mention of the author and URL to this website.
For more information, see the About section.

Comments

Article has no comments.

Add a comment

Name (required)
Website
Message (required)
Submit
From latest