我一直在使用 addon sdk 来创建扩展,即。可以在从互联网网站上找到的图像上画线时使用。
该扩展的工作原理是它使用一些映射到 css 的 div 标签扩展了网站的 DOM。
为了创建一条线,我使用了这样的 CSS 转换
fibotin.draw = function (event) {
var currentPosX = event.clientX;
var currentPosY = event.clientY;
event.preventDefault();
/* .... */
if (drawSelection === "line") {
var length = fibotin.calculateLineLength(currentPosX, currentPosY, drawObj.startPosX, drawObj.startPosY);
var angle = fibotin.calculateAngle(currentPosX, currentPosY, drawObj.startPosX, drawObj.startPosY);
var transform = 'rotate(' + angle + 'deg)';
drawObj.element.style.transform = transform;
drawObj.element.style.width = length;
}
在 CSS 中我这样声明
#line{
transform-origin: 0 100%;
height: 2px;
background: red;
position: fixed;
z-index: 999999;
cursor: move;
}
出于某种原因,此代码不适用于所有站点。 (即 google.com) 但在某些情况下 - 在更简单的网站上 - 它有效(www.stox.fi)
有谁知道如何解决这个问题,以便它可以在所有网站上运行?
您可以在我的名为 Fibotin 的扩展程序上检查它是如何工作的
最佳答案
将position
设置为relative
或absolute
。那应该使 transform
工作。 fixed
应该可以正常工作。奇怪的是它不是,也许有什么东西压倒了它?
关于javascript - CSS 转换不适用于 Firefox 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36674694/