使用Firefox加载项修改网站
Modify websites with Firefox Add-on
我正在编写一个Firefox插件,当我打开一些特定的网站时,它会对它们进行修改。但是我一点也不喜欢API。例如,如果我想在选项卡中添加一个包含按钮的div容器
var myScript = 'document.body.innerHTML += "<div style=background-color:rgba(0,0,0,0.5);position:fixed;width:300px;height:300px;right:0px;top:0px;><input type=button value=test></input></div>";';
tab.attach({ contentScript: myScript });
这是:
1.完全无法阅读
2.在很多网站上看起来会有所不同,因为有些网站会为所有输入元素添加默认样式。
那么,有没有一种更可读的方法可以修改一个不需要添加字符串脚本的网站呢
有没有一种方法可以覆盖网站上的任何元素(甚至是flash)?
您应该使用contentScriptFile
。
然后,您应该使用性能不差的DOMAPI,并"自食其果"(不是.innerHTML
),比如:
var div = document.createElement("div");
div.style.backgroundColor = "rgba(0,0,0,0.5)";
...
var input = document.createElement("input");
input.setAttribute("type", "button");
...
div.appendChild(input);
document.body.appendChild(div);
MDN有相关文件。
至于款式:这一款比较硬朗。通常,人们不会将DOM节点注入页面本身(不仅是因为CSS兼容性,而且是为了避免Javascript和/或DOM中的冲突),而是创建一个<iframe>
,然后它有自己的一组CSS规则和自己的Javascript环境,甚至受同源策略的约束,如果做得好,这将阻碍网站处理内容。
相关文章:
- 如何识别我的网站中的慢速设备
- 在Safari执行javascript之前对其进行修改
- 用Javascript更改我网站上的字体大小
- 有任何可能将facebook实时信使整合到一个网站中
- 将电视直播频道从网站嵌入我的网站
- Windows 8固定的网站互动程序
- 门户网站:当地时间有多有用
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- XSS可以用来修改我网站的一部分,一个不打算修改的部分
- 使用Firefox加载项修改网站
- 如何使用 JavaScript 修改网站的标题
- 网站编辑不断修改脚本,使其变得毫无用处
- 加载网站并使用Javascript进行修改
- 使用 Web 代理修改从网站返回的 html 响应
- 修改CSS为WordPress.com订阅按钮自托管Wordpress网站
- 修改网站默认选项卡功能
- 人们可以在我的网站域上修改/创建cookie吗
- 需要帮助从网站修改javascript
- 将查询传递到网站,然后修改href
- 通过邮件修改网站