Ubuntu 開発者サイトのチュートリアルに従って、自分の Web サイトを Web アプリケーションとして Ubuntu Unity に統合しようとしています。
これまでのところ、HTML ドキュメントに次のコードがあります。
<script type="text/javascript">
function unityReady() {
// Integrate with Unity!
}
var Unity = external.getUnityObject(1.0);
Unity.init({name: "My WebApp",
iconUrl: "http://localhost/my-icon.png",
onInit: unityReady});
</script>
これはうまく機能しているようです。Firefox は、Web アプリをインストールするかどうかを尋ねるメッセージをポップアップ表示し、同意します。
チュートリアルの次の部分では、次のコードがあります。
<script type="text/javascript">
function notificationExampleOne() {
console.log('hello');
Unity.Notification.showNotification("This is a test", "New message received", null);
}
</script>
<a href="javascript:notificationExampleOne()">execute</a>
これもうまくいきます。「実行」をクリックhello
すると、ログに表示され、Unity で通知ダイアログが表示されます。
ここでやりたいことは、ページが読み込まれるとすぐにこれを実行することです。OnLoad
ただし、 bodyタグなどに入れるのではなく、その場でやりたいです。これは、最終的に JavaScript の条件ステートメント内に配置するためです。
しかし、私はそれをまったく実行するのに苦労しています。これが私のコードです:
<script type="text/javascript">
notificationExampleOne();
</script>
ページを読み込むhello
と、ログに表示されるので、関数が実行されていることがわかります。ただし、Unity では通知が表示されないため、関数の 2 行目は実行されていないように見えます。
次のように、関数呼び出しを JQuery 内にラップしようとさえしました。
<script type="text/javascript">
$(document).ready(function() {
notificationExampleOne();
});
</script>
私は同じ結果を得ます。この単語hello
は、関数が実行されたことを確認するためにログに表示されますが、Unity 通知は発生しません。