Tworzę rozszerzenie, które przechowuje wybrany tekst z aktualnie aktywnej strony na localstorage, a kiedy użytkownik kliknie na ten zaznaczony tekst w wyskakującym okienku mojego rozszerzenia, rozszerzenie wyświetli chrome.tabs.create i otworzy stronę, na której zaznaczony tekst został wybrany. Te funkcje działają, ale nie wiem, jak wywołać funkcję "znajdź" po otwarciu nowej karty. Chcę, aby nowo utworzona karta była wysoko zaznaczonym tekstem zapisanym w moim rozszerzeniu. Myślę, że można to zrobić na dwa sposoby ...Rozszerzenie Chrome: jak mogę wyświetlić pasek wyszukiwania i podać dla niego tekst?
w jakiś sposób wywołać funkcję "znajdź", którą domyślnie przeglądarka ma. Ta z "Ctrl + F" lub "Command + F" wyzwala i wstawia zaznaczony tekst tam, aby edytować HTML nowo utworzonej strony, podświetlając zaznaczony tekst.
new_source = { "url" : tab[0].url, "title" : tab[0].title, "quote" : selectedQuote, "id" : idSource};
sources.push(new_source);
localStorage["sources"] = JSON.stringify(sources);
To jak mam przechowywanie moich danych
Niestety nie mogę sobie przypomnieć, gdzie to widziałem, ale ... Kiedyś widziałem, jak ktoś to zrobił, tworząc ścieżkę xpath (querySelector również byłby fajny) do elementu, w którym znajdował się wybrany tekst, a następnie zapisując go z zaznaczeniem. Następnie wystarczy otworzyć stronę i ponownie zaznaczyć tekst w tym elemencie. – PAEz
Tak, to powinno działać w większości przypadków, ale zepsuje się, jeśli zawartość jest dynamiczna (np. Wybrany węzeł może być jedną z listy komentarzy, a jej pozycja na stronie zmienia się wraz z dodawaniem kolejnych komentarzy). – int3