Article View: pl.comp.lang.javascript
Article #51445Re: Przywracanie prawego kliknięcia - raz działa a raz nie
From: Paweł Piskorz
Date: Fri, 05 Sep 2014 11:48
Date: Fri, 05 Sep 2014 11:48
61 lines
3197 bytes
3197 bytes
W dniu 2014-08-19 o 17:36, __Maciek pisze:
> Hej, jest tu kto? :-)
Jest, tylko rzadko zagląda :/
> Niedawno wgryzłem się trochę w podstawy JS i DOMu i zacząłem pisać
> swoje skrypty dla GreaseMonkey. Nie mogę sobie jednak poradzić z jedną
> rzeczą - strona ustawia sobie blokadę prawego kliknięcia, ćwiczę np.
> na tej galerii:
>
> http://www.st43.pl/4galery/details.php?image_id=10813
>
> W źródle strony widzimy:
>
[8<]
>
> Użycie bookmarkletu:
>
> javascript:void(document.oncontextmenu=null);
>
> przywraca normalne działanie prawego kliknięcia, jednak gdy w skrypcie
> dla GM wpiszę:
>
> document.oncontextmenu=null;
>
> to nic to nie daje. Skrypt poza tym działa, bo robi jeszcze inne
> rzeczy. Wpisanie powyższego w konsoli Firebuga daje zamierzony efekt
> (context menu zaczyna działać).
>
> Cały moj skrypt tutaj:
> http://maciek100.boo.pl/inne/st43pl_-_ulatwienie_scia.user.js
> (przerabia tutuł zdjęcia na link do pliku)
>
> Jak to prawidłowo zrobić i dlaczego z GM nie działa?
Może skrypt GM jest wykonywany przed JSem tej strony? Spróbuj swój
skrypt wywoływać dopiero gdy się strona załaduje, np.:
document.addEventListener('load', function(){
// tu Twój skrypt
});
> I jeszcze jedno przy okazji - Firebug, w podglądzie kodu strony podaje
> coś takiego jak XPath. Dla ćwiczebnej galerii i elementu
> (z)manipulowanego przez mój skrypt jest to:
>
> /html/body/table/tbody/tr[2]/td/table[2]/tbody/tr/td/table/tbody/tr/td/table[2]/tbody/tr/td[3]/div/b/a
>
> Czy jest jakiś sposób aby mając ten XPath, w prosty sposób dotrzeć do
> elementu?
https://developer.mozilla.org/en-US/docs/Web/API/document.evaluate
np.:
var xpath =
"/html/body/table/tbody/tr[2]/td/table[2]/tbody/tr/td/table/tbody/tr/td/table[2]/tbody/tr/td[3]/div/b/a";
var zlapanyElement = document.evaluate(xpath, document, null,
XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue
--
Pozdrawiam,
Paweł "PablO" Piskorz
Technical Details
Message-ID:
<luc7u1$apk$1@dont-email.me>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!newsfeed.fsmpi.rwth-aachen.de!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mailReferences:
<7lq6v91o1ml3otu38pa06o3oov4pfqrut5@4ax.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!newsfeed.fsmpi.rwth-aachen.de!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Paweł Piskorz <nie.ma.maila@psikre.nie> Newsgroups: pl.comp.lang.javascript Subject: Re: Przywracanie prawego kliknięcia - raz działa a raz nie Date: Fri, 05 Sep 2014 13:48:14 +0200 Organization: A noiseless patient Spider Lines: 61 Message-ID: <luc7u1$apk$1@dont-email.me> References: <7lq6v91o1ml3otu38pa06o3oov4pfqrut5@4ax.com> Mime-Version: 1.0 Injection-Date: Fri, 5 Sep 2014 11:48:17 +0000 (UTC) Injection-Info: mx05.eternal-september.org; posting-host="907b7bbe9738856fa984763726fca753"; logging-data="11060"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18N7PopnbW2Friw1F3Rhdf8" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.0 Hamster/2.1.0.11 In-Reply-To: <7lq6v91o1ml3otu38pa06o3oov4pfqrut5@4ax.com> Cancel-Lock: sha1:n72pWaG0FkNjSecachieGoFmlF8= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit