Có thể thêm mục vào trình đơn nhấp chuột phải vào trình duyệt mặc định không?Thêm vào menu ngữ cảnh của trình duyệt?
Trả lời
Một tùy chọn là replace the context menu với tương đương kích hoạt JavaScript của riêng bạn.
Firefox đã triển khai menu
element nơi bạn có thể thêm vào menu ngữ cảnh hiện tại. Nó cũng được triển khai trong Chrome sau một lá cờ. Rất tiếc, tính năng này đã bị removed from the W3C standard do thiếu sự quan tâm thực hiện.
<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>
Để tạo thành phần tử, hãy thêm thuộc tính contextmenu="mymenu"
vào phần tử đó. Bạn có thể thấy ở đây rằng mymenu
khớp với thuộc tính id
của phần tử menu
.
Bạn không thể sửa đổi ứng dụng của khách hàng sử dụng một trang web. Nếu điều này là có thể, chỉ cần nghĩ về cách tin tặc có thể khai thác máy tính của chúng tôi.
Bạn có thể làm gì, xác định trình đơn tùy chỉnh của riêng bạn, trong khi nhấp chuột phải của người dùng.
Kiểm tra jquery plugin này ví dụ: http://labs.abeautifulsite.net/archived/jquery-contextMenu/demo/
Bạn có thể truy vấn tổ hợp phím và chuột và thay thế chúng bằng chức năng của riêng bạn, tại sao ngữ cảnh Trình đơn khác nhau? – wubbewubbewubbe
@wubbewubbewubbe, OP muốn thêm vào trình đơn Ngữ cảnh của Trình duyệt. Bạn đã đọc về điều đó chưa? Và ví dụ đang liên kết đến, thực hiện chính xác những gì nhận xét của bạn. – Starx
trên các trình duyệt hiện đại, bạn có thể thao tác được xây dựng trong menu ngữ cảnh như vậy:
<menu type="context" id="supermenu">
<menuitem label="trial" onclick="alert('Smile please')"></menuitem>
<menuitem label="rotate" onclick="rotate()" icon="http://cdn1.iconfinder.com/data/icons/silk2/arrow_rotate_clockwise.png"></menuitem>
<menuitem label="resize" onclick="resize()" icon="http://cdn3.iconfinder.com/data/icons/fugue/icon/image-resize.png"></menuitem>
<menu label="share">
<menuitem label="twitter" onclick="alert('foo')"></menuitem>
<menuitem label="facebook" onclick="alert('bar')"></menuitem>
</menu>
</menu>
<a href='#' contextmenu="supermenu">Right click me</a>
Để đọc thêm: http://www.w3.org/wiki/HTML/Elements/menu
demo: https://bug617528.bugzilla.mozilla.org/attachment.cgi?id=554309
Điều này thực sự gọn gàng Bạn có biết nếu nó có thể được thực hiện để làm việc cho Chrome nữa không? – wubbewubbewubbe
Tôi đã tìm kiếm, tôi nghĩ rằng nó không thể (ít nhất là bây giờ) – wubbewubbewubbe
Chrome là IE6 mới ... hiện tại, nhiều thứ s không được hỗ trợ -> http://caniuse.com/#search=menu – vsync
Vì bạn đang hỏi về khả năng, bạn có thể thêm tôi dễ dàng thực hiện menu ngữ cảnh khi bạn đang phát triển Tiện ích mở rộng của Google Chrome. http://developer.chrome.com/extensions/contextMenus.html
Trong năm 2016, tính năng này vẫn chỉ được hỗ trợ bởi firefox: ( – Grief
trong năm 2017 tính năng này vẫn được hỗ trợ bởi firefox :( – faiwer