自分のローカルwebappsユーザースクリプトを記述したいのですが、メインのwebappsソースコードを毎回コンパイルしてインストールしたくありません。
元のUbuntu Webappsパッケージをインストールしたままにしたいのですが、ローカルのユーザースクリプトも使用します。これは可能ですか?
自分のローカルwebappsユーザースクリプトを記述したいのですが、メインのwebappsソースコードを毎回コンパイルしてインストールしたくありません。
元のUbuntu Webappsパッケージをインストールしたままにしたいのですが、ローカルのユーザースクリプトも使用します。これは可能ですか?
回答:
あなたができることはあなたのユーザースクリプトを作成し、それをシンボリックリンクすること/usr/share/unity-webapps/userscripts/unity-webapps-$NAME/$NAME.user.js
です:
($MYSCRIPTPATH
はスクリプトへのフルパスで、おそらくホームディレクトリのどこかにあります。$NAME
はスクリプトの名前です)
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
また、マニフェストファイルを手動で作成する必要もあります。ディレクトリ/usr/share/unity-webapps/userscripts/unity-webapps-$NAME/manifest.json
内の他のアプリからマニフェストファイルをコピーして、userscripts
ウェブアプリに応じて値を変更するだけです。
/usr/share/unity-webapps/userscripts/config.xml
システムのどこにもファイルが見つかりません。
カスタムWebアプリを作成する簡単で安全な方法を見つけました。FirefoxとGreasemonkey拡張機能を使用することです。Greasemonkeyでは、次のようなユーザースクリプトを作成するだけで十分です(私はAsana用に作成しました)。
// ==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'
});
このスクリプトはUnity統合を有効にするだけですが、他の機能を追加してより多くのコードを記述できます。