Greasemonkey - 在 Google Voice 消息框的文本区域中输入消息

发布于 2024-11-26 02:15:39 字数 454 浏览 2 评论 0 原文

我正在尝试编写一个脚本,将包含我选择的消息的文本发送到一个号码,但我陷入了这部分。

我可以通过执行以下操作将号码传递到 Google Voice“收件人”字段:

document.getElementById("gc-quicksms-number").value = number;

但我无法使用以下命令将消息传递到“消息”字段:

document.getElementById("gc-quicksms-text2").value = "Error detected";

源代码中的代码块如下所示:

http://pastebin.com/2LrhLZXc

谢谢!我们将非常感谢您的帮助。

I am trying to write a script that will send a text to a number with a message of my choosing, but I am stuck on this part.

I am able to pass a number into the Google Voice "To" field by doing the following:

document.getElementById("gc-quicksms-number").value = number;

but I am unable to pass a message into the "Message" field with this:

document.getElementById("gc-quicksms-text2").value = "Error detected";

The block of code in the source looks like this:

http://pastebin.com/2LrhLZXc

Thank you! Your assistance will be greatly appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

柠檬心 2024-12-03 02:15:39

由于是 Google,该页面可能很大程度上基于 ajax。这意味着 gc-quicksms-text2 并不立即存在。事实上,它是“text2”,这表明这些

因此,请尝试以下操作:

  1. 安装 Firebug(如果尚未安装)。
  2. 加载并运行此脚本:

    // ==用户脚本==
    // @name _Google 语音启动器
    // @include http://www.google.com/googlevoice/*
    // @require http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js
    // ==/用户脚本==
    
    unsafeWindow.console.clear();
    var report = unsafeWindow.console.info;
    报告('GM脚本启动');
    
    
    vartimerHandle = setInterval(checkForSMS_Textboxes, 777);
    
    函数 checkForSMS_Textboxes () {
        var SMS_Textboxes = $('textarea.gc-quicksms-text');
        var SMS_Textboxes = $('textarea');
    
        var newTB_ids = SMS_Textboxes.map ( 函数 () {
                                var jThis = $(this);
                                if (jThis.prop('bFoundBefore') )
                                    返回空值;
                                别的 {
                                    jThis.prop('bFoundBefore', true);
                                    jThis.text('你能看到我吗?');
                                    返回这个.id ? this.id : '空';
                                }
                            } ).get().join(',');
    
        如果(新TB_ids)
            报告('发现新的文本区域:',newTB_ids);
    }
    
  3. 代码应填写 SMS 框并将每个新文本区域报告给 Firebug 控制台。控制台报告什么?

Since it's Google, that page is probably heavily ajax based. Which means that gc-quicksms-text2 is not there right away. The fact that it's "text2" suggests that these <textarea>s may not always have the same id; they may be auto numbered.

So try the following:

  1. Install Firebug, if you haven't already.
  2. Load and run this script:

    // ==UserScript==
    // @name            _Google voice starter
    // @include         http://www.google.com/googlevoice/*
    // @require         http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js
    // ==/UserScript==
    
    unsafeWindow.console.clear();
    var report = unsafeWindow.console.info;
    report ('GM Script start');
    
    
    var timerHandle = setInterval (checkForSMS_Textboxes, 777);
    
    function checkForSMS_Textboxes () {
        var SMS_Textboxes   = $('textarea.gc-quicksms-text');
        var SMS_Textboxes   = $('textarea');
    
        var newTB_ids       = SMS_Textboxes.map ( function () {
                                var jThis   = $(this);
                                if (jThis.prop ('bFoundBefore') )
                                    return null;
                                else {
                                    jThis.prop ('bFoundBefore', true);
                                    jThis.text ('Can you see me?');
                                    return this.id ? this.id : 'null';
                                }
                            } ).get ().join (', ');
    
        if (newTB_ids)
            report ('Found new textarea(s): ', newTB_ids);
    }
    
  3. The code should fill in the SMS boxes and report each new text area to the Firebug console. What does the console report?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文