Google chrome 纸张输入自动完成无法填充
聚合物1.0 铬50.0.2661.102 我正在尝试使用纸张输入启用chrome自动填充。当选择输入时,会出现标准的相应chrome自动填充提示列表,但是从列表中选择可用的名称或电子邮件不会填充输入,只会关闭chrome自动填充列表Google chrome 纸张输入自动完成无法填充,google-chrome,polymer,polymer-1.0,paper-elements,Google Chrome,Polymer,Polymer 1.0,Paper Elements,聚合物1.0 铬50.0.2661.102 我正在尝试使用纸张输入启用chrome自动填充。当选择输入时,会出现标准的相应chrome自动填充提示列表,但是从列表中选择可用的名称或电子邮件不会填充输入,只会关闭chrome自动填充列表 <paper-input id="email" name="email" label="Email" type="email" autocomplete="email" ></pape
<paper-input
id="email"
name="email"
label="Email"
type="email"
autocomplete="email"
></paper-input>
<paper-input
id="password"
name="password"
label="Password"
type="password"
autocomplete="current-password"
></paper-input>
尝试将输入包装在没有属性的表单标记中。像这样:
<form>
<paper-input
id="email"
name="email"
label="Email"
type="email"
autocomplete="email"
></paper-input>
<paper-input
id="password"
name="password"
label="Password"
type="password"
autocomplete="current-password"
></paper-input>
</form>
要使其正常工作,您需要切换到shady DOM,因为目前(2018年8月2日),浏览器不支持shadowDOM的自动填充。Polymer开发人员在以下bug追踪器中请求此支持: 要使用shady DOM,请将以下代码放在
webcomponents loader.js
脚本上方:
<script>
// Force all polyfills on
if (window.customElements) window.customElements.forcePolyfill = true;
ShadyDOM = {
force: true
};
function idToChainedClass(poly, _this) {
if (ShadyDOM) {
const allElements = poly.dom(_this.root).querySelectorAll('*');
let id;
for (var x = 0, len = allElements.length; x < len; x++) {
if (allElements[x].id) {
id = allElements[x].id;
allElements[x].removeAttribute('id');
allElements[x].classList.add(id);
_this.$[id] = poly.dom(_this.root).querySelector('.' + id);
}
}
}
}
</script>
<script src="bower_components/webcomponentsjs/webcomponents-loader.js"></script>
//强制启用所有多边形填充
如果(window.customElements)window.customElements.forcePolyfill=true;
ShadyDOM={
原力:对
};
函数idToChainedClass(poly,\u this){
if(ShadyDOM){
constAllegements=poly.dom(_this.root).querySelectorAll('*');
让我看看你的身份证;
对于(var x=0,len=allegements.length;x
并使用ready()
中的函数idToChainedClass
,无论您在何处看到如下错误:
[DOM]发现x个元素具有非唯一id#输入
您还可以随机化ID以使其唯一。遵循纸张输入提供的技巧:
这类似于。你能提供一个jsbin来重现这个问题吗?这个jsbin只能在android上运行,而不能在iPhone中的safari上运行。