有没有办法使用Puppeteer测试Chrome扩展程序?例如,扩展程序可以检测Chrome是否以"测试"模式启动以提供不同的UI,检查内容脚本是否正常工作等?
现在Object.observe()
是在默认情况下在Chrome中,我遇到了一堆的情况下,我想重复使用内置的属性(浏览器的hidden
,title
,draggable
),但*Changed
观察家不再被调用的属性发生变化时.
一个例子是hidden
:http://jsbin.com/jizikaje/1/edit(hiddenChanged()
永远不会被调用)
我目前的解决方法是使用attributeChanged()
观察属性更改:
attributeChanged: function(attrName, oldVal, newVal) {
// Cannot use *Changed watchers for these native properties.
if (attrName == 'hidden') {
this.marker.setVisible(!this.hidden);
}
}
Run Code Online (Sandbox Code Playgroud)
推荐的方法是什么?
BTW,在尝试使用本机属性时发出警告将需要很长时间进行调试:https://github.com/Polymer/polymer/issues/379
我正在尝试将模板从DOM移动到元素内部.
这是我的要素:
<link rel="import" href="../polymer/polymer.html">
<link rel="import" href="../polymer-ui-icon/polymer-ui-icon.html">
<polymer-element name="bt-sortable-list" attributes="drag name list">
<template>
BOOM
<template binding ref="itemTemplate" repeat="{{list}}" id="repeatTemplate">
</template>
<template id="itemTemplate">
</template>
</template>
<script>
Polymer('bt-sortable-list', {
ready: function() {
var div = document.createElement('div');
contentStr = this.trim(innerHTML);
var parsed = markdown.toHTML(content);
this.$.itemTemplate.innerHTML = parsed;
this.list = [{name: 'Item 1', id: 'item1'}, {name: 'Item 2', id: 'item2'}, {name: 'Item 3', id: 'item3'}];
this.$.repeatTemplate.model = this.list;
}
});
</script>
</polymer-element>
Run Code Online (Sandbox Code Playgroud)
这是我的html文件:
<!doctype html>
<html>
<head>
<script src="/platform/platform.js"></script>
<link rel="import" href="/bt-sortable-list/bt-sortable-list.html">
</head> …
Run Code Online (Sandbox Code Playgroud) 需要输入字段的新HTML5属性,在提交表单时弹出气泡消息且字段为空.有没有办法用不同的文字弹出同一个泡泡?我想将它用于不同的验证(不仅仅是它是否为空).
以下是Chrome中此气泡(弹出窗口)的屏幕截图:
在我的项目中,我需要支持阿拉伯语和英语,为此我要做以下事情:
<div class="{{ {'align-right': currentLanguageCode == 'ar'} | tokenList }}">{{languages[currentLanguageCode].supervisorName}}</div>
Run Code Online (Sandbox Code Playgroud)
对于每个文本渲染,将重复上述行.
所以我觉得如果能做到这样的话会更好:
双语-text.html
<polymer-element name="bilingual-text" attributes="languageCode">
<template>
<content></content>
</template>
<script>
Polymer({
languageCodeChanged: function() {
if (this.languageCode == 'ar') {
// add .align-right class.
} else {
// remove .align-right class.
}
}
})
</script>
</polymer-element>
Run Code Online (Sandbox Code Playgroud)
然后
<bilingual-text languageCode="ar">{{languages['ar'].supervisorName}}</bilingual-text>
Run Code Online (Sandbox Code Playgroud)
有没有办法实现这样的东西?