कि क्रोम जब से तुम तत्व आप संदर्भ मेनू का उपयोग कर पर क्लिक किया है के साथ बातचीत नहीं करता है, तो आप एक content script कि अंतिम तत्व दायाँ क्लिक किया है पृष्ठ पर किया गया है संग्रहीत करता है बनाने के लिए है, इसलिए जब उपयोगकर्ता किसी भी तत्व पर राइट-क्लिक करता है, आप इसका उपयोग करने में सक्षम होंगे।
सबसे पहले आप, एक save_last_element.js
सामग्री स्क्रिप्ट बनाने के लिए इस तरह: अब
"permissions": ["*://*/*"], // don't forget to set the permissions for all the pages
"content_scripts": [
{
"matches": ["*://*/*"],
"js": ["/path/to/save_last_element.js"],
"run_at": "document_idle",
"all_frames": true
}
]
, जब पेज में एक स्क्रिप्ट इंजेक्शन:
var LAST_SELECTION,
LAST_ELEMENT;
document.body.addEventListener('contextmenu', function(e) {
LAST_SELECTION = window.getSelection();
LAST_ELEMENT = e.target;
// this will update your last element every time you right click on some element in the page
}, false);
तो आप इसे अपने manifest.json
में जोड़ देंगे , आप पिछले दाएं क्लिक किए गए तत्व को संदर्भित करने के लिए LAST_SELECTION
और LAST_ELEMENT
चर का उपयोग करने में सक्षम होंगे और इसके सीएसएस या जो कुछ भी आप चाहते हैं उसे संपादित कर सकेंगे। अपने script.js
फाइल के अंदर
function handler(info, tab) {
// here you can inject a script inside the page to do what you want
chrome.tabs.executeScript(tab.id, {file: '/path/to/script.js', all_frames: true});
}
var myContextMenuItem = chrome.contextMenus.create({
"title": "Some title",
"contexts": ["all"],
"documentUrlPatterns": ["*://*/*"],
"onclick": handler
});
और अंत में,:
अपने में background.js
आप इस तरह कुछ करना चाहिए
if (LAST_SELECTION) {
// do whatever you want with the information contained in the selection object
}
if (LAST_ELEMENT) {
// do whatever you want with the element that has been right-clicked
}
अपने इनाम टिप्पणी के प्रकाश में, तुम क्या करने की कोशिश की है? – Xan
मैंने पहले से ही प्रश्न में उल्लेख किया है .. @Xan – Sahil