Autor Zpráva
Zkousim-to
Profil
Dobrý den,
potřeboval bych v javascriptu zakázat provedení akce po kliknutí na link (odkaz) v zobrazeném souboru pdf a to jak link uložený s obrázkem v pdf tak i tlačítko v pdf nebo klasický link v pdf.

Zkoušel jsem přes (nad) PDF zobrazit průhledný obrázek (*.png), který by nedovolil kliknout na pdf pod ním ale container (<embed ...>, <iframe ...>, <object ...>) je "tvrdě" nahoře a obrázek pod ním. Použití nastavení Z-index nepomáhá.
To co jsem našel na netu ohledně detekce kliknutí na pdf bohužel nechce fungovat (asi to bylo pro starší verze pdf nebo containeru).

1) skript který nedovolí provedení odkazu z pdf
2) nebo nějakou fintu s obrázkem, který by byl "nad" pdf.


děkuji
_es
Profil
PDF je dokument odlišný od HTML, kde JS nefunguje. Aj keby to fungovalo, že by to bolo v HTML, tak si stačí na podobné „zákazy“ v prehliadači vypnúť JS. Prečo nedáš návštevníkovi k dispozícii dokument, kde ten odkaz jednoducho nie je?
Zkousim-to
Profil
_es:
s tím, že to nejde pomoci JS se smířím, ale proč nejde to vrstvení, jako průhledný obrázek nad pdf?
quatzael
Profil
Zkousim-to:
To jde udělat do toho dokumentu udělat manuálně. Jsou na to různý nástroje, mpdf např. Hodíš to jako template a nad to dáš průhlednej div.
_es
Profil
Zkousim-to:
Okrem toho, nie každý prehliadač PDF zobrazí. Namiesto toho môže ponúknuť stiahnutie súboru.
Radek9
Profil
Zkousim-to:
Můžeš zkusit použít PDF.js. Ještě jsem s tím moc nedělal, takže nemůžu říct s jistotou, ale asi by neměl být problém se dostat k obsahu.
Keeehi
Profil
Chápu to správně tak, že máš v prohlížeči normální klasickou stránku a v ní je iframe, v kterém je místo jiné stránky načteno po PDF?

Protože se mi zdá, že ostatní to chápou jinak.
Zkousim-to
Profil
Keeehi:
Ano, je to tak. Asi jsem se vyjádřil nepřesně. Stránka HTML => IFRAME => PDF (načteno z jiného webu).


Radek9:
Zatím jsem se prokousal jen na PDFOBJECT.com pdfobject.js. Lze to s ním načíst, otestovat podporu ale přidat událost "kliknutí myši" nebo "odchycení odkazu" se mi tam nepodařilo zamontovat.
Zkusím tvůj link co tam najdu, díky za tip.


quatzael:
Asi by to šlo, jenže pdf jsou na jiném webu a musel bych je postahovat a všechny poupravovat. Hlavně těch pdf je asi 2o.ooo a jsou průběžně aktualizovány. Principiálně dobrý nápad ale technicky to nelze realizovat. Ten <div> bych potřeboval univerzálně na stránce jako "top layer". Díky
quatzael
Profil
Zkousim-to:
Tak ten iframe překryj nějakým průhledným divem a pokud potřebuješ nechat nějaký původní vlastnosti jako scrollování a zoomování tak to řeš přes js. Nebo můžeš v iframu jenom deaktivovat klikání myší a enter případně...
Zkousim-to
Profil
quatzael:
To jsem zkoušel, ale také jsem psal, že zobrazeni pdf je "tvrdě" nahoře a překrytí nějakým divem jaksi nejde, je na vším mimo plochou na pdf a je jedno jestli to je <embed ...>, <iframe ...>, <object ...> a pdf pouze usazené v objektu, takže něco zablokovat v objektu nemá vliv na vlastní pdf.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: