Вграденият скрипт на Polymer уеб компонент не е зареден във firefox

Имам странно поведение, когато моят полимерен уеб компонент се зарежда във firefox.

Проблемът е, че javascript след

<content></content> 

не се зарежда във firefox, но работи както се очаква в chrome.

Използвам полимерна версия 1.0

Моят елемент изглежда така:

<link rel="import" href="/bg../../../../bower_components/polymer/polymer.html">

<dom-module id="my-element">

  <style>
     ...style content
  </style>

  <template>
    <svg  ...my svg></svg>

    <content></content>


    <script> --> This script is not loaded in firefox.
       ...script content
    </script>

  </template>
</dom-module>

<script>

  Polymer({
    is: 'my-element'

    ... etc ...

  });

</script>

Помощта ще бъде високо оценена.


person Olivier Krull    schedule 23.10.2015    source източник
comment
Бърза проверка, нали използвате полифила на уебкомпонентите?   -  person Jared Smith    schedule 24.10.2015
comment
Полимер   -  person Olivier Krull    schedule 26.10.2015


Отговори (2)


Имах същия проблем, но препрочитайки документацията, намерих решението.

Преди да заредите Polymer Script, трябва да изчакате DOM да бъде готов, както следва:

<dom-module id="my-element">
    <template>
        <svg ...></svg>

        <content></content>

     </template>
     <script>
         HTMLImports.whenReady(function () {
              Polymer({
                  is: 'my-element'
                  // (...)
              });
         });
    </script>
</dom-module>

<my-element></my-element>
person João Hélio    schedule 05.02.2016

Вместо да имате таг на скрипт в шаблона, можете да използвате един от методите на жизнения цикъл на компонента като "прикачен", за да направите същото.

person Hugo Zapata    schedule 24.10.2015
comment
Да, това е, което направих, трябваше да пренапиша кода си по друг начин, но сега работи. Но това не обяснява защо възниква този проблем. - person Olivier Krull; 26.10.2015