問題タブ [tvml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Swift から JavaScript 関数に変数を渡す
JSContext を使用して変数を JavaScript 関数に渡すのに問題があります。エラーstringToSend
は未定義です:
dom - TVJS アプリで DOM を更新する最も効率的な方法は?
TVJS での DOM の更新は、あるインスタンス (DOM で最大 1000 個のロックアップ アイテム) ではほぼ瞬時に行われ、別のインスタンスでは UI が 30 秒間ブロックされます (最大 10000 個のロックアップ アイテム)。
ドキュメント参照は参照として保存され、いくつかの属性で更新されます。
DOM を更新するより効率的で効率的な方法はありますか?
javascript - tvOS: ネストされたテンプレート
カタログ テンプレートを使用してビデオ コンテンツを表示するシンプルなアプリがありますが、たとえば、メイン メニューから選択できる 6 つまたは 7 つのカタログ テンプレートをアプリに持たせ、それぞれに独自のビデオ セットを持たせたいと考えています。現在、最初に 1 つのテンプレートを読み込んで残りを tvOS に任せるのではなく、テンプレート間を移動する方法を理解するのに苦労しています。理想的には、カタログ テンプレートを子として持つトップ レベルの Showcase テンプレートが必要です。私はTVMLとJSを使用しており、これまでのところ次のコードがあります(主にチュートリアルから組み立てられています):
アプリケーション.js
ResourceLoader.js
Presenter.js
テンプレート自体:
javascript - Swift で作成された TVML テンプレートの画像リンク
ローカル ファイルを使用して、Apple TV プロジェクトのテンプレートをフィードしています。ファイルが存在する場所のベース URL を渡してテンプレートをプッシュすると、埋め込まれた画像のリンクが正常に機能します。
しかし、その場で (文字列として) テンプレートを作成し、それをプッシュしようとすると、ベース URL が読み取られず、次のような画像リンクが表示されます。
私が作成した文字列を読み取るJavaScript関数は次のとおりです。
そして、私が作成している文字列にはjavascriptが含まれていません。つまり、次のようには始まりません:
完全なベース URL を画像リンクに書き込むことができることはわかっていますが、${this.BASEURL}
作成したパスに を保持する方法はありますか?
javascript - tvOS: ビデオ プレーヤーがナビゲーション スタックの最上位にプッシュされない
私が取り組んでいるビデオ ストリーミング アプリでは、listTemplate からビデオの年を選択できます。各年は、ビデオ リソースへのリンクを含む catalogTemplate です。listTemplate と catalogTemplate の間のナビゲーションは正常に機能しますが、catalogTemplates の 1 つからビデオを選択すると、ビデオは前景ではなく、テンプレートの後ろで再生されます。このようなナビゲーション スタック エラーと思われるものを修正するにはどうすればよいですか? 以下は、Apple のドキュメントから部分的に抜粋した、実際に内容を提示するために使用するコードです。
tvos - TVML 項目を動的に追加しますか?
この質問 ( Force view to reload tvml content on Apple TV/tvos ) を見たことがあります。答えは、DOM から物を削除する方法を説明していますが、それらを追加する方法はありますか?
NodeList の標準の appendChild については知っていますが、追加する適切な要素をどのように作成しますか? つまり、TVML でドキュメントを作成すると、ドキュメントに解析される特別な XML 構文になります。ドキュメントの一部だけを解析して、それを追加できるようにする方法はありますか?たとえば、ドキュメントが表示された後に、棚内のセクションに動的に項目を追加する方法はありますか?
PS 新しいアイテムの xml で Presenter.parser.parseFromString() を使用しようとしましたが、その構文で IKDOMException をスローしています。
tvos - 以下のような単純な html テキストをレンダリングして、UIkit ベースの TVOS アプリ内で表示します
以下のような単純な html テキストをレンダリングして、UIkit ベースの TVOS アプリ内で表示するにはどうすればよいですか?
TVOS アプリ内で Web ビューを使用できないため、別の解決策はありますか?
少し背景を説明するために、TVOS を構築し、事前にシードされたコア データ ストレージからいくつかの静的テキストを取得しています。また、このテキストが参照するいくつかの画像をメイン バンドルから読み込みます。
race-condition - TVOS: 起動時の競合状態
テンプレートと TVML を使用して、独自の読み込みページでアプリを開始し、サービスを呼び出してユーザーのメイン ページを作成します。
内部のサーバーへの呼び出しを開始するとdidFinishLaunchingWithOptions
、エラーが発生しますITML <Error>: undefined is not an object - undefined - line:undefined:undefined
。
このことから、JavaScript 関数が完了する前にサーバーへの非同期呼び出しが終了していると想定し、App.onLaunch
サーバーが呼び出される前に待機時間を強制した場合にのみ動作させることができます。
AppDelegate メソッドは次のとおりです。
これが(ややボイラープレートの)javascript関数です:
ここで、 のサーバーへの呼び出しを変更し、didFinishLaunchingWithOptions
強制的に待機させると、次のようになります。
.. それが動作します。しかし、私はその解決策が好きではありません!この競合状態が発生しないようにするにはどうすればよいですか?
tvml - TVML バナー サイズ
カタログ テンプレートとスタック テンプレートと共に MenuBar テンプレートを使用しています。スタック テンプレートを使用すると、上部のコレクション リストにカルーセルが表示されます。アップル スタック テンプレートによると、これらの画像は 1740x500 のサイズにする必要があります。画像をそのサイズにしましたが、それらを JavaScript ファイルに追加してシミュレーターで実行すると、すべてのバナーの上部が剥がれているように見えます。それは私を完全に狂気に駆り立てています。
誰かがこれに気付きましたか? もしそうなら、解決策を見つけましたか? 高さの最初の下部 400 ピクセルか何かを使用することに慣れていますか? menuBar テンプレートを使用しない場合、たとえばリスト テンプレートでアプリを開始した場合、バナーは問題なく表示されます。写真でわかるように、メニュー バーがいつ画面に表示されるかについては言及していません。menuBar が存在しない場合でも、画像が失われています。
また、他のすべてのグラフィックは、テンプレートのサイズを使用するだけで検索できます (つまり、映画、CD の正方形など)。正しく表示されないのは、カルーセル バナー イメージのみです。
テンプレートに挿入してい ないバナーは次のとおりです。 テンプレートにないバナー
これは、Apple TV シミュレーターに表示されたときのバナーです。 Apple TV バナーの上部が剥がれる
皆様、今しばらくお待ちいただきますようお願い申し上げます。私は TVML を初めて使用し、ほとんどすべての機能をアプリで使用していますが、これに夢中になっています。どんな助けでも大歓迎です。