問題タブ [html-imports]

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.

0 投票する
2 に答える
2975 参照

javascript - カスタム要素のアップグレード時にスクリプトを実行する方法

カスタム要素を定義しました。カスタム要素が登録済みのタイプにアップグレードされたときにのみスクリプトを実行したいと考えています。ユース ケースは、カスタム メソッドを呼び出す必要がある場合です。

私のメインのhtmlファイルは次のようになります。

カスタム要素は、次のように HTML インポートに登録されます。

私の質問は簡単です:カスタム要素がそのcustom_methodメソッドを取得した後にのみ、メインの html ファイルのスクリプトが呼び出されるようにする方法は?

エレガントなソリューションを探しています。仕様の作成者が考えたであろう何か。アーキテクチャをかなり変更してもかまいません (たとえば、必要に応じて JavaScript をメイン ファイルから別のカスタム要素に移動するなど)。

0 投票する
1 に答える
132 参照

javascript - webcomponenetsjs を使用した HTMLImports がインポートを予期しない実行順序でロードする - firefox

私は webcomponenetsjs の初心者で、HTMLImports を使用して別の HTML を index.html にインポートしようとしています。chrome は HTML のインポートをサポートしているので、問題はありません。しかし、Firefox で同じことを試してみると、HTML のインポートが期待どおりに機能しません。問題は、すべての HTML 要素をロードし、すべてのスクリプトをロードしてから |link rel="import"| のみをロードすることです。インポートの実行を開始します。より明確にするために、アラートが発生する順序は次のとおりです。 1.ベンダーの後 2.インポート前3.

ベンダー.js内のアラート4.test.html内のアラート。


デフォルトでは、html インポートの実行は、

1.vendor.js 内のアラート
2.ベンダーの後3.import.js の

4.test.html 内のアラートのようになります。

もちろん、クロムでも同じ順序で機能します。私が欠けているものについて何か助けていただければ幸いです。

0 投票する
0 に答える
419 参照

web-component - テスト用に HTML インポートをモックする方法

カスタム要素のテストを書いています。私はWeb Component Testerを使用しているので、モックには Sinon.js を使用するとよいでしょう。

カスタム要素が<link rel="import" href="something.html">動的に追加されます。

のコンテンツをスタブするにはどうすればよいsomething.htmlですか?

0 投票する
1 に答える
2423 参照

javascript - `HTMLImports.whenReady` と `window.addEventListener('WebComponentsReady', function(e) {` の違いは何ですか?

HTMLImports.whenReady とはどう違いwindow.addEventListener('WebComponentsReady', function(e) {ますか?

Polymer の公式ドキュメントには次のように書かれています。

「メインの HTML ドキュメントで要素を定義するには、HTMLImports.whenReady(callback) から要素を定義します。ドキュメント内のすべてのインポートの読み込みが完了すると、コールバックが呼び出されます。」

インポートに関する Webcomponents.org の公式ドキュメントには次のように書かれています。

ネイティブ インポートでは、メイン ドキュメントのタグがインポートの読み込みをブロックします。これは、インポートがロードされ、インポートに登録されている要素がアップグレードされていることを確認するためです。このネイティブの動作はポリフィルが難しいため、HTML Imports ポリフィルは試みません。代わりに、WebComponentsReady イベントがこの動作の代わりになります。

2つの違いは何ですか?

0 投票する
1 に答える
10162 参照

html - HTML インポートが無効/廃止された場合、Web コンポーネント (X-Tag) テンプレートをインポートする最良の方法は何ですか?

私は最初の X-Tag アプリケーションに取り組んでおり、そのページには、「カスタム要素、Shadow DOM、テンプレート、および HTML インポート」などの Web コンポーネント API で動作することを意図していると書かれています。

テンプレートの作業を開始しましたが、HTML インポートが廃止されたため、それらをインポートするための最良のオプションは何ですか?

0 投票する
1 に答える
574 参照

angularjs - jasmine/karma を使用して PhantomJS に角度コンポーネントをインポートする

次の単体テストは Chrome で動作しますが (HTML インポートのネイティブ サポートにより)、PhantomJS (およびその他のブラウザー) で動作させるのに苦労しています。

インポート ('webcomponents.js/HTMLImports.min.js') をポリフィルしようとしていますが、何の効果もありません。

カルマ.conf.js

コンポーネント/so-example.html

テスト/test.spec.js

PhantomJS からのエラー

0 投票する
1 に答える
127 参照

javascript - ポリマーのアップグレード後、HTML インポートとしてロードすると紙のチェックボックスが 2 回作成される

問題

ポリマーを 0.5 から 1.5 にアップグレードしたところ、紙のチェックボックスが 2 回表示されるようになりました。

進捗

polyup を実行して、ポリマー アップグレード ガイド全体を調べましたが、この問題を解決する手順はありませんでした。私は2つのことを見つけました:

1.

正しく動作している場合、htmlは次のようになります

私の場合、次のように見えました

これにより、ポリマーが紙のチェックボックスを2回処理していると思われます。ただし、再確認したところ、paper-checkbox.htmlを2回以上ロードしていません。これは、その面での私の唯一のアイデアでした。

2.

メイン コンテンツは、セクションが html インポートとして読み込まれるフライインにあります。インポートされた html の paper-checkbox がこの動作を示すことがわかりましたが、紙のチェックボックスをフライインにハードコーディングすると、正しく機能します。

質問

ポリマーが紙のチェックボックスを 2 回処理しようとする原因は何ですか? これを引き起こしている可能性のあるhtmlインポートはどうですか?

編集:

Tony の要求によるコード ダンプ。

default.html

import.js 関連関数