【问题标题】:Unable to edit/save Google Calendar Event via Chrome Extension \ Content Script无法通过 Chrome 扩展程序 \ 内容脚本编辑/保存 Google 日历事件
【发布时间】:2014-06-14 14:15:54
【问题描述】:

我正在编写一个 Google Chrome Extension,使用 Content Script 向 Google 日历添加功能

当您单击我在页面上创建的按钮时,我会根据一些动态内容更新页面上的日历事件“WHERE”输入和“DESCRIPTION”输入。

编辑这些输入可以正常工作,但是当您保存事件时,标题和描述不会被保存(我假设是因为我通过 javascript 输入值)。如果我注入内容,然后在保存之前手动执行任何键盘字符(字面意思是在我的键盘上输入),标题和描述就会被保存。

在编辑值以触发它正在寻找的任何脏标志/事件后,我尝试在输入上触发各种事件,但没有成功:

试过了:

input.change();

input.focus.blur();

var e = $.Event('keypress');
e.which = 13; //enter key
input.trigger(e);

我看不出这是因为我的 javascript 是沙盒的,还是 google 在这里做了一些特别的事情。如果是因为沙箱,我可能会被阻止。我怀疑 google 可能在这里做一些特别的事情的唯一原因是,如果我在 input 元素上编辑 value= 属性,它不会改变显示的值,这很奇怪

<input id=":47" name=":47" type="text" class="textinput" placeholder="Enter a location" autocomplete="off" aria-labelledby=":2t.location-label">

任何帮助将不胜感激

【问题讨论】:

    标签: google-chrome google-chrome-extension google-calendar-api content-script


    【解决方案1】:

    我发现 A) 显然我应该在 插入值之前应用焦点,B) 使用 document.exeCommand 它可以正常工作

    input.focus();
    document.execCommand('inserthtml', false, 'New Input Value Yada Yada Yada');
    

    【讨论】:

      猜你喜欢
      • 2023-04-04
      • 2011-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-07
      • 2016-07-10
      • 1970-01-01
      相关资源
      最近更新 更多