Přidávání do kontextové nabídky prohlížeče?

Je možné přidat položku do výchozí nabídky po kliknutí pravým tlačítkem prohlížeče?

Odpověď

Jednou z možností je nahradit kontextovou nabídku vlastním ekvivalentem spouštěným JavaScriptem.

Firefox implementoval menu prvek, kam můžete přidat do stávající kontextové nabídky. To bylo také implementováno v Chrome za vlajkou. Bohužel tato funkce byla ze standardu W3C odstraněna kvůli nedostatku zájmu o implementaci.

<menu type="context" id="mymenu">
    <menuitem label="Refresh Post" onclick="window.location.reload();" icon="/images/refresh-icon.png"></menuitem>
    <menuitem label="Skip to Comments" onclick="window.location='#comments';" icon="/images/comment_icon.gif"></menuitem>
    <menu label="Share on..." icon="/images/share_icon.gif">
        <menuitem label="Twitter" icon="/images/twitter_icon.gif" onclick="goTo('//twitter.com/intent/tweet?text=' + document.title + ':  ' + window.location.href);"></menuitem>
        <menuitem label="Facebook" icon="/images/facebook_icon16x16.gif" onclick="goTo('//facebook.com/sharer/sharer.php?u=' + window.location.href);"></menuitem>
    </menu>
</menu>

Chcete-li, aby prvek používal tuto kontextovou nabídku, přidejte contextmenu="mymenu" připisovat tomu. Zde můžete vidět, že mymenu odpovídá id atributu menu prvek.

Zdroj

Demo