[英]Polymer key global variables undefined. Why?
加載應用程序時出現了一系列奇怪的錯誤
polymer-micro.html:117 Uncaught TypeError: Cannot read property '_makeReady' of undefined
(anonymous function) @ polymer-micro.html:117
第一個中的Polymer.RenderStatus
是Polymer.RenderStatus
polymer.html:3417 Uncaught TypeError: Polymer.dom is not a function
_findStyleHost @ polymer.html:3417
_computeStyleProperties @ polymer.html:3461
_applyCustomProperties @ polymer.html:3652
fn @ polymer.html:3638
顯然,Polymer.dom應該是一個功能。 為什么不呢?
Uncaught TypeError: Cannot read property '_isEventBogus' of undefined
_notifyListener @ polymer.html:2012
(anonymous function) @ polymer.html:1534
fire @ polymer.html:1277
_notifyChange @ polymer.html:1372
_notifyEffect @ polymer.html:1553
_effectEffects @ polymer.html:1405
_propertySetter @ polymer.html:1389
setter @ polymer.html:1468q
ueryHandler @ iron-media-query.html:116
每當我們跨屏幕跨媒體查詢邊界移動屏幕寬度時,這就是一個媒體查詢會產生此錯誤。 在這種情況下,未定義的變量是Polymer.Bind
如果我在polymer.html的頂部(在script標簽之后)放置一個斷點,那么當我放開它時,錯誤就會消失。 這幾乎意味着它通常在不加載polymer-mini.html的情況下運行。
我正在使用chrome,並且index.html中有關是否加載webcomponents-lite.js
意味着它不會加載。
我被困在調試該問題的方法上。 有任何想法嗎?
事實證明,初始化腳本在index.html中的定位是造成這些問題的原因。 我已經復制了Polymer Shop應用程序,該程序將腳本放置在正文的底部。 在導入my-app元素之前,由polymer-cli工具創建的應用程序(帶有app-drawer模板)將腳本放在標頭中。
我懷疑商店應用沒有問題的原因是標題沒有進行任何動畫處理。 我在標題中使用了混合背景效果,這可能就是為什么它失敗的原因。
無論如何,將包含Polymer初始化的腳本移動到標題中可以解決此問題。
添加異步到導入為我解決了。
<link rel="import" href="/src/your-app.html" async>
代替
<link rel="import" href="/src/your-app.html">
我正在嘗試2.0預覽版,嘗試遵循Rob Dodson的路由Polycast時遇到了類似的錯誤(#47,48 ish)。 經過數小時的嘗試其他解決方案后,這才起作用:
**<script src="/bower_components/webcomponentsjs/webcomponents-lite.js">**
// Setup Polymer options
window.Polymer = {
dom: 'shadow',
lazyRegister: true
};
// Load webcomponentsjs polyfill if browser does not support native Web Components
(function() {
'use strict';
var onload = function() {
// For native Imports, manually fire WebComponentsReady so user code
// can use the same code path for native and polyfill'd imports.
if (!window.HTMLImports) {
document.dispatchEvent(
new CustomEvent('WebComponentsReady', {bubbles: true})
);
}
};
var webComponentsSupported = (
'registerElement' in document
&& 'import' in document.createElement('link')
&& 'content' in document.createElement('template')
);
if (!webComponentsSupported) {
**// var script = document.createElement('script');
// script.async = true;
// script.src = '/bower_components/webcomponentsjs/webcomponents-lite.min.js';
// script.onload = onload;
// document.head.appendChild(script);**
} else {
onload();
}
})();
// Load pre-caching Service Worker
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('/service-worker.js');
});
}
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.