2016-10-24 10 views
0

(Polymer)Webコンポーネントの依存関係(コンポーネント)にアクセスすることは可能ですか?jsスクリプトをロードして別のもの)スクリプト?HTMLオーバーロードでロードされたポリマーオーバーライドスクリプト

コンクリート問題:私は別のアニメーションのすべては、私が上書きするスクリプトをロードweb-animations HTMLをインポートneon-animationを使用し、様々なポリマーの要素(例えばpaper-dialog言う)を使用しています。

つまり、/deep/コンビネータがCSSをこの特定のHTML 'コンポーネント'に浸透させ、web-animations-next-lite.min.jsスクリプトの新しいバージョンを追加するようなことをしたいと思います。

理由は:リモートアップデートはオプションではないため、Chromeの拡張機能を使用してこれを実行することです(インターネット接続の制限)。 Chrome v54では、WebAnimations APIを修正してtheseerrorsのアニメーションが破られ、その機能(ポップアップが表示されない)が破損しています(古いWebアニメーションバージョンを使用しているため)。

私はすでにChromeの拡張機能のコンテンツスクリプトと私のメインのHTML本体に新しいバージョンのスクリプトを注入しようとしたが、そこに任意の運を持っていなかった

..任意のアイデアを事前に

ありがとう!

答えて

0

私はそのハックを少しは知っていますが、あなた自身のバージョンのWebアニメーションスクリプトをbower_componentsに入れることはできません。ポリマ要素を変更しようとする際の問題は、スクリプトを取得する前に既にスクリプトをロードしていることです。

+0

いいえ、私がそれを行うことができれば、代わりに要素自体を適切にアップグレードします。 – Viktor

0

HTMLのloadイベントを聞く<link>をインポートして、src属性の<script>要素を追加します。

これは、アカウントで使用される最後にダウンロードされ(解析された)スクリプトです。

<script> 
    function loaded() { 
     //file.html loaded 
     document.write('<script src="new-file.js"></script>') 
    } 
</script> 
<link rel=import href="file.html" onload="loaded()"> 
+0

これはまさに私がやりたいことですが、特定のHTMLインポートでロードイベントをどのように聞きますか? 'WebComponentsReady'はすべての読み込みが読み込まれた後に起動しますが、それでも' web-animations.html'をオーバーライドして、Polymer要素をターゲットにする必要があるため、スクリプトタグを私の体に挿入しないでください。すでに 'body'にスクリプトを注入しようとしましたが、動作しませんでした。 – Viktor

+0

@Viktor私は例を追加しましたが、WebComponentedReadyが動作しないとonloadで動作しません。なぜなら、解析後に起動されるからです... – Supersharp

+0

これはファイルにアクセスできる場合に機能します。私は 'onload =" loaded() "'属性を追加できないことを忘れないでください。もし私がそれを行うことができれば、代わりにスクリプト全体をアップグレード/置き換えます:/ – Viktor

関連する問題