Jak utworzyć lokalny skrypt użytkownika aplikacji sieci web

10

Chciałbym pisać własne skrypty użytkowników lokalnych aplikacji internetowych, ale nie chcę za każdym razem kompilować i instalować głównego kodu źródłowego aplikacji internetowych .

Chciałbym zachować oryginalny pakiet Ubuntu Webapps zainstalowany, ale używam również lokalnych skryptów użytkowników. czy to możliwe?

Alberto Pagliarini
źródło

Odpowiedzi:

6

Co możesz zrobić, to utworzyć skrypt użytkownika i dowiązać go do /usr/share/unity-webapps/userscripts/unity-webapps-$NAME/$NAME.user.js:

( $MYSCRIPTPATHto pełna ścieżka do twojego skryptu, prawdopodobnie gdzieś w twoim katalogu domowym; $NAMEto nazwa twojego skryptu)

sudo mkdir /usr/share/unity-webapps/userscripts/unity-webapps-$NAME
sudo ln -s $MYSCRIPTPATH /usr/share/unity-webapps/userscripts/unity-webapps-$NAME/$NAME.user.js

Musisz także ręcznie utworzyć plik manifestu /usr/share/unity-webapps/userscripts/unity-webapps-$NAME/manifest.json- możesz po prostu skopiować jedną z innych aplikacji w katalogu userscriptsi zmodyfikować wartości zgodnie z aplikacją internetową.

Tommy Brunn
źródło
Musisz także dodać swój skrypt w /usr/share/unity-webapps/userscripts/config.xml. Po prostu skopiuj i zmodyfikuj inny wpis.
Alistair Buxton
@AlistairBuxton, czy to nadal obowiązuje? Nie mogę znaleźć /usr/share/unity-webapps/userscripts/config.xmlpliku nigdzie w moim systemie.
David Planella
Nadal obowiązuje do 12.04.
Alistair Buxton,
Czy możesz mi powiedzieć, jak skompilować skrypty użytkowników aplikacji internetowych?
Rajat Saxena
config.xml wydaje się nie być potrzebny w 12.10
Pisu
3

Znalazłem łatwy i bezpieczny sposób tworzenia niestandardowych aplikacji internetowych: za pomocą Firefoksa i rozszerzenia Greasemonkey . W Greasemonkey wystarczy stworzyć skrypt użytkownika taki jak ten (stworzyłem dla Asany):

// ==UserScript==
// @name        Asana
// @namespace   app.asana.com
// @include     https://app.asana.com/*
// @grant       none
// @version     1
// ==/UserScript==

window.Unity = external.getUnityObject(1);

Unity.init({ name: 'Asana',
             domain: 'app.asana.com',
             homepage: 'https://app.asana.com/',
             iconUrl: 'http://asana.com/assets/FluidIcon.png' 
});

Ten skrypt po prostu włącza integrację z Unity, ale możesz dodać inne funkcje pisząc więcej kodu.

Pisu
źródło