/ / Interfejs HTML modułu NaCl - google-chrome, mime, google-nativeclient

Interfejs HTML modułu NaCl - google-chrome, mime, google-nativeclient

Tworzę aplikację w pakiecie dla Chrome, którawyświetla określony rodzaj dokumentu jako HTML. Mam aplikację do pewnego stopnia działającą, ale chciałbym dodać funkcję umożliwiającą użytkownikowi otwarcie pliku poprzez kliknięcie łącza do odpowiedniego pliku.

Jestem w stanie uruchomić aplikację według typu MIME zgodnie z dokumentacją tutaji jestem zaznajomiony z pp :: Instance :: HandleDocumentLoad metoda obsługi źródła klikniętego łącza, ale nie jestem pewien, jak wyświetlić kod HTML, który generuję na podstawie przeanalizowanego dokumentu.

Jest to dość łatwe, gdy użytkownik ręcznieuruchamia aplikację i wybiera plik za pomocą elementu wejściowego i systemu plików HTML, ponieważ GUI HTML jest określony w manifeście aplikacji, ale o ile wiem, uruchamianie na podstawie typu MIME po prostu osadza NMF.

TL; DR: Czy istnieje sposób na określenie interfejsu HTML dla (lub prostego sposobu renderowania HTML) instancji modułu NaCl utworzonej przez nacl_modules manifest wjazdu?

Odpowiedzi:

0 dla odpowiedzi № 1

Jest to możliwe, ale to trochę hack. Skopiowałem sztuczkę stąd: https://groups.google.com/d/msg/native-client-discuss/UJu7VXvV_bw/pLc19D50gbwJ

Możesz zobaczyć, jak to zrobiłem tutaj i tutaj:

Zasadniczo słuchasz chrome.tabs.onCreated i chrome.tabs.onUpdated, a następnie wstrzykujesz trochę kodu JavaScript, który sprawdza, czy element osadzania ma prawidłowy typ mimetyczny. Jeśli znajdzie element, wysyła wiadomość (przez chrome.runtime.sendMessage) do Twojego rozszerzenia. Gdy rozszerzenie otrzyma ten komunikat, wstrzykuje resztę kodu JavaScript do strony za pomocą chrome.tabs.executeScript. W tym momencie możesz wyświetlić cokolwiek chcesz.

Możesz to zrobić wcześniej, wstrzykując kod do każdej strony, ale okazało się, że było to trochę przyjemniejsze, ponieważ wstrzykuje tylko odrobinę kodu.