2016-11-02 2 views
0

Я работаю с сервисом простого полимерного элемента с сервера Tomcat. Элемент отлично работает в Chrome, но не работает в последней версии Firefox 49.0.2. Я прикрепил содержимое к двум элементам, и проблема, похоже, происходит потому, что событие WebComponentsReady многократно повторяется снова и снова в Firefox, но в Chrome только четыре раза.Элемент Simple Polymer с веб-сервера работает в Chrome, но не Firefox или Safari или IE

Кроме того, включив в элементе «элемент-слайдер» элемент «простой элемент», вы можете зайти в цикл, где он продолжает перезагружать файлы снова и снова!

<link rel="import" href="./bower_components/paper-slider/paper-slider.html">

Что происходит?

простой элемент-demo.html (ниже)

<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <meta charset="utf-8"> 
 
    <meta name="description" content="Demo of simple element"> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
 
    <script> 
 
    </script> 
 
    <script src="./bower_components/webcomponentsjs/webcomponents-lite.js"> 
 
    </script> 
 
    <link rel="import" href="./bower_components/polymer/polymer.html"> 
 
    <link rel="import" href="./simple-element.html"></link> 
 
</head> 
 

 
<body> 
 
    <div>Hello! I am going to demo simple-element. See below me.</div> 
 
    <simple-element></simple-element> 
 
</body> 
 
<script> 
 
    document.addEventListener('WebComponentsReady', function(e) { 
 
    console.log('WebComponentsReady', e); 
 
    debugger; 
 
    }); 
 
</script> 
 

 
</html>

простой element.html ниже

<!doctype html> 
 
<html> 
 

 
<head> 
 
    <title>Simple Element</title> 
 
    <script src="./bower_components/webcomponentsjs/webcomponents-lite.js"> 
 
    </script> 
 
    <link rel="import" href="./bower_components/polymer/polymer.html"> 
 
    <link rel="import" href="./bower_components/paper-slider/paper-slider.html"> 
 
</head> 
 

 
<body> 
 
    <dom-module id="simple-element"> 
 
    <template> 
 
     <div class="container flex-horizontal"> 
 
     Hi There! I am Simple Element. 
 
     </div> 
 
    </template> 
 

 
    <script> 
 
     Polymer({ 
 
     is: 'simple-element', 
 
     properties: { 
 
      prop1: { 
 
      type: String, 
 
      notify: true 
 
      }, 
 
     }, 
 

 
     created: function() { 
 
      console.log('Simple is created'); 
 
     }, 
 

 
     ready: function() { 
 
      console.log('Simple is ready'); 
 
     } 
 
     }); 
 
    </script> 
 
    </dom-module> 
 
</body> 
 

 
</html>

ответ

0

Я был в состоянии исправить e путем включения webcomponents-lite.js только один раз в основной файл: simple-element-demo.html.

Я удалил строку ниже из simple-element.html, и теперь она отлично работает во всех браузерах.

<script src="./bower_components/webcomponentsjs/webcomponents-lite.js"> 
 
</script>

Смежные вопросы