我正在尝试创建一个基本的 chrome 扩展,在任何网页的左侧添加一个工具栏。
我想在左侧创建空间,然后可以填充 DOM 元素。
我使用 style.setProperty() 创建空间:
document.body.style.removeProperty("transform");
document.body.style.removeProperty("-webkit-transform");
document.body.style.setProperty("width", "90%", "important");
document.body.style.setProperty("margin-left", "10%", "important");
这会在大多数网页的左侧创建空间,但不是全部。然后我尝试向网页添加一个元素:
var toolbar = document.createElement("div");
toolbar.style.setProperty("color", "red");
toolbar.style.setProperty("left", "-10%");
toolbar.style.setProperty("top", "0px", "important");
var testText = document.createTextNode("Buttons will go here");
toolbar.appendChild(testText);
document.body.appendChild(toolbar);
这似乎在网页底部添加了一个元素,但也有一些奇怪的错误。在某些网页中它不会显示在底部,在某些网页中它会创建多次。我几乎不知道如何将它移动到我为它创建的左边距中。
我目前正在调用脚本来更改 eventPage.js 文件中的页面:
chrome.webNavigation.onCompleted.addListener(function (details) {
chrome.tabs.executeScript(details.tabId, {
file: "createSpace.js"
});
});
最后解决我的问题:
- 您可以在边距内创建对象吗?
- 如何将 CSS(移动页面以创建左侧空间)应用到整个网页?
- 如果您不知道页面将包含哪些元素(因为它应该适用于所有元素),您如何选择放置 DOM 对象的位置?