KilliK Δημοσ. 19 Οκτωβρίου 2016 Δημοσ. 19 Οκτωβρίου 2016 χαιρεται. θελω να φτιαξω ενα κουμπι για τον Chrome browser, το οποιο οταν το παταω να ανοιγει ενα καινουργιο tab και να κανει google search με λημμα οτι υπαρχει στο Windows clipboard.ειμαι ασχετος απο JS, οποτε βασιστηκα στο ψαξιμο στο νετ. βρηκα τα εξης: ενα function για να παιρνω σε variable το περιεχομενο του clipboard των Windows. // getClipboardText - return any text that is currently on the clipboard function getClipboardText() { // create div element for pasting into var pasteDiv = document.createElement("div"); // place div outside the visible area pasteDiv.style.position = "absolute"; pasteDiv.style.left = "-10000px"; pasteDiv.style.top = "-10000px"; // set contentEditable mode pasteDiv.contentEditable = true; // find a good place to add the div to the document var insertionElement = document.activeElement; // start with the currently active element var nodeName = insertionElement.nodeName.toLowerCase(); // get the element type while (nodeName !== "body" && nodeName !== "div" && nodeName !== "li" && nodeName !== "th" && nodeName !== "td") { // if have not reached an element that it is valid to insert a div into (stopping eventually with 'body' if no others are found first) insertionElement = insertionElement.parentNode; // go up the hierarchy nodeName = insertionElement.nodeName.toLowerCase(); // get the element type } // add element to document insertionElement.appendChild(pasteDiv); // paste the current clipboard text into the element pasteDiv.focus(); document.execCommand('paste'); // get the pasted text from the div var clipboardText = pasteDiv.innerText; // remove the temporary element insertionElement.removeChild(pasteDiv); // return the text return clipboardText; } το function για να δημιουργει το tab με την αναζητηση. function searchGoogle(selectedText) { var query = "http://www.google.com/search?q=" + selectedText; chrome.tabs.create({url: query}); } και πως να καλω το script οταν παταω το κουμπι: chrome.browserAction.onClicked.addListener(function(tab) { getClipboardText(); searchGoogle(clipboardText); }); δυστυχως δεν γινεται τιποτα οταν κανω κλικ στο κουμπι. το console των dev tools του Chrome μου βγαζει error οτι το clipboardText ειναι undefined. σιγουρα κατι κανω λαθος στο 3ο βημα με το click event. πως πρεπει να γραψω τον κωδικα ωστε οταν παταω το κλικ να παιρνει την variable που δινει η μια συναρτηση και να την δινει στην αλλη;
anon667 Δημοσ. 19 Οκτωβρίου 2016 Δημοσ. 19 Οκτωβρίου 2016 chrome.browserAction.onClicked.addListener(function(tab) { var clipboardText = getClipboardText(); searchGoogle(clipboardText); }); Μία αλλαγή που χρειάζεται είναι σίγουρα η παραπάνω. Edit: προστέθηκε το "var clipboardText =", το είχα bold αλλά δεν το δείχνει λόγω code tag, qq.
KilliK Δημοσ. 19 Οκτωβρίου 2016 Μέλος Δημοσ. 19 Οκτωβρίου 2016 (επεξεργασμένο) ανοιγει τωρα η σελιδα αλλα δεν παιρνει καμια τιμη απο το clipboardText, ειναι κενο. nvm, δουλεψε η λυση σου. απλως επρεπε να βαλω στα permissions του manifest το clipboardRead. σε ευχαριστω για την βοηθεια. Επεξ/σία 20 Οκτωβρίου 2016 από KilliK
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα