使用GreaseMonkey更改Javascript函数的参数

时间:2010-06-18 05:39:21

标签: javascript greasemonkey

这里有很多关于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代码。

有人可以解释我做错了什么吗?这甚至可能吗?

2 个答案:

答案 0 :(得分:2)

首先尝试简单的直接方法。您的Greasemonkey脚本可以像以下一样简单:

GM_addStyle ("#content_tbl {width: 900px !important;}");

- 适用于默认的TinyMCE窗口。

改变javascript源代码可能不会轻易工作。但是,魔鬼在细节中。

提供指向该页面的链接或pastebin完整代码。

答案 1 :(得分:1)

不,应用该功能时脚本已经执行。 您必须获取文本编辑器的元素,并手动应用属性(假设它是一个元素)。

链接会让我更有帮助。