这里有很多关于Greasemonkey的问题,但我没有看到与我的问题直接相关的任何问题。
我在一个使用文本编辑器控件的网站上,他们不允许水平调整大小(仅垂直)真的很烦人。因此,如果您使用的是仅支持1024x768的廉价投影机,则文本将从屏幕上消失,您无能为力。
我查看了页面源代码,找到了我想要Greasemonkey修改的代码部分:
<script type="text/javascript">
// TinyMCE instance type: CD_TinyMCE
tinyMCE.init({
convert_urls : "",
mode : "specific_textareas",
editor_selector : "rte",
theme : "advanced",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
**theme_advanced_resize_horizontal : false**,
...
我只想将粗体值更改为true。我试图用蛮力的方式来解决这个问题并以这种方式替换文本:
function allowHorizontalResize() {
var search_string = "theme_advanced_resize_horizontal : false";
var replace_string = "theme_advanced_resize_horizontal : true";
var doc_text = document.body.innerHTML;
document.body.innerHTML = doc_text.replace( search_string, replace_string);
}
......但它不起作用。但是,我知道基本搜索和替换部分是有效的,因为我可以使用此脚本替换编辑器中的文本 - 我只是无法更改初始化文本编辑器的javascript代码。
有人可以解释我做错了什么吗?这甚至可能吗?
答案 0 :(得分:2)
首先尝试简单的直接方法。您的Greasemonkey脚本可以像以下一样简单:
GM_addStyle ("#content_tbl {width: 900px !important;}");
- 适用于默认的TinyMCE窗口。
改变javascript源代码可能不会轻易工作。但是,魔鬼在细节中。
提供指向该页面的链接或pastebin完整代码。
答案 1 :(得分:1)
不,应用该功能时脚本已经执行。 您必须获取文本编辑器的元素,并手动应用属性(假设它是一个元素)。
链接会让我更有帮助。