我将尝试在Chrome扩展程序中使用Polymer。总体目标是利用样式封装,使得我的内容脚本运行时与正在访问的页面的CSS隔离开来。
首先从my-element.html中创建自定义元素。
我会这样使用Vulcanize:
如果我在我的内容脚本中尝试这样做:
首先从my-element.html中创建自定义元素。
我会这样使用Vulcanize:
vulcanize -o build.html my-element.html
如果我在我的内容脚本中尝试这样做:
如果我在我的内容脚本中尝试这样做:
// content_script.js
$.get(chrome.extension.getURL('build.html'), function(data) {
var html = document.createElement('div');
html.innerHTML = data;
document.body.appendChild(html);
var custom = document.createElement('my-element');
document.body.appendChild(custom);
});
build.html可以正常加载,但是my-element无法工作。它只创建了一个空标签,没有我的shadow DOM内容。
我看到我做的有几个潜在问题:
- 我将polymer stuff加载到了一个div中。它需要直接加载到body中吗?如果是这样,应该如何实现?
- 我假设使用ajax加载build.html会起作用。这是不正确的假设吗?