Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

χαιρεται.
 
θελω να φτιαξω ενα κουμπι για τον 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 που δινει η μια συναρτηση και να την δινει στην αλλη;

Δημοσ.
chrome.browserAction.onClicked.addListener(function(tab) {
var clipboardText = getClipboardText();
searchGoogle(clipboardText);
});

Μία αλλαγή που χρειάζεται είναι σίγουρα η παραπάνω.

 

Edit: προστέθηκε το "var clipboardText =", το είχα bold αλλά δεν το δείχνει λόγω code tag, qq.

Δημοσ. (επεξεργασμένο)

ανοιγει τωρα η σελιδα αλλα δεν παιρνει καμια τιμη απο το clipboardText, ειναι κενο.

 

nvm, δουλεψε η λυση σου. απλως επρεπε να βαλω στα permissions του manifest το clipboardRead.

σε ευχαριστω για την βοηθεια.

Επεξ/σία από KilliK

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...