में टेक्स्ट चयन कैप्चर करें मैं एक क्रोम एक्सटेंशन लिख रहा हूं जो उपयोगकर्ता टेक्स्ट चयन को कैप्चर करता है और चयनित टेक्स्ट को Google खोज में भेजता है।Google डॉक्स
manifest.json
{
"manifest_version": 2,
"name": "Selection Extension",
"description": "Search your selected text",
"version": "1.0",
"permissions": [
"tabs",
"http://*/*",
"https://*/*"
],
"background": {
"scripts": [
"background.js"
],
"persistent": false
},
"browser_action": {
"default_icon": "icon.png",
"default_title": "Mark it!!"
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content_script.js"]
}
]
content_script.js
chrome.extension.onMessage.addListener(function(request, sender, sendResponse) {
if (request.method == "getSelection") {
sendResponse({data: window.getSelection().toString()});
} else {
sendResponse({});
}
});
background.js
function initBackground() {
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.sendMessage(tab.id, {method: "getSelection"}, function(response){
sendServiceRequest(response.data);
});
});
}
function sendServiceRequest(selectedText) {
var serviceCall = 'http://www.google.com/search?q=' + selectedText;
chrome.tabs.create({url: serviceCall});
}
initBackground();
यह कॉड ई वेबपृष्ठों में चयन के लिए काम करता है (जैसे जीमेल, फेसबुक, समाचार।) मैं भी पीडीएफ में चयन प्राप्त करने में सक्षम होना चाहता हूं, और Google डॉक्स (ब्राउज़र में देखा गया)। इन मामलों में: window.getSelection
एक खाली स्ट्रिंग देता है ...
कोई जानता है कि यह कैसे करें?
इसके लिए धन्यवाद! मैं executeScript हटा दूंगा। –
Google-डॉक्स के लिए क्लास "किक्स-चयन-ओवरले" श्रेणी वाले HTML तत्व हैं। यह वर्ग वास्तविक div है जो चयन लुक बनाता है (यानी टेल पृष्ठभूमि)। लेकिन यह किसी भी तरह से div में शामिल नहीं है जिसमें पाठ है ... –
पीडीएफ के संबंध में: https://stackoverflow.com/questions/15527095/how-extension-get-the-text-selected-in-chrome-pdf- दर्शक –