Skype Web 的 Chrome 扩展按键
Posted
技术标签:
【中文标题】Skype Web 的 Chrome 扩展按键【英文标题】:Chrome Extension keypress for Skype Web 【发布时间】:2015-07-12 06:00:55 【问题描述】:我想编写一个 Chrome 扩展程序,可以使用 Skype for web (https://web.skype.com/en/) 发送消息。我可以在 textarea 中获取文本,但无法触发 Enter 键。如何存档?
扩展程序加载正常,并在输入字段中放置了一个文本,但它停止了。我还尝试触发更改事件和输入事件。但是什么也没发生。
我正在使用等待功能,因为 Skype 需要一段时间才能加载。
我的 manifest.json
"manifest_version": 2, "name": "SkypeTest", "version": "0.0.1",
"content_scripts": ["matches": ["https://web.skype.com/*"],
"js": ["jquery-2.1.4.min.js", "skypeTest.js"]]
我的 skypeTest.js
;(function()
var e = jQuery.Event( 'keydown', which: 13 );
function init()
console.log('Script running');
var wait = function()
var txtArea = $("textarea[name='messageInput']");
if (txtArea.is(':visible'))
clearTimeout(waiting);
txtArea.val('Hello Skype');
txtArea.trigger('focus').trigger(e);
;
var waiting = setInterval(wait, 5000);
init();
)();
这是输入字段
<textarea tabindex="10010" maxlength="2000" data-bind="value: messageBody, css: hide: !isEnabled(),
valueUpdate: ['afterkeydown','propertychange','input'],
event: keypress: handleKeyPress, keydown: handleKeyDown, input: handleInput,
focus: onFocus, blur: onBlur, paste: onPaste , hasFocus: chatInputFocus,
l10n_attr: 'placeholder': 'area_text_insertText', attr: 'aria-label': label ,
template: afterRender: handleFocus " name="messageInput" class="inputField fontSize-p" placeholder="Type a message here"
aria-label="Chat input" style="height: 30px;"></textarea>
【问题讨论】:
见this和this 谢谢@wOxxOm。我知道 Chrome 中的错误。但这似乎是另一回事。在调试器中,我可以看到分配了正确的 keyCode:n.Event type: "keydown", which: 13, timeStamp: 1436756197584, jQuery2140713275273796171: true 【参考方案1】:由于 Chrome 的安全功能,这似乎是不可能的。 我改用Electron。
【讨论】:
以上是关于Skype Web 的 Chrome 扩展按键的主要内容,如果未能解决你的问题,请参考以下文章
web_accessible_resources 的 Chrome 扩展清单问题(已阻止)
在 Chrome Web Store URL 的 Chrome 扩展中绕过 X-Frame-Options
是否可以在 Chrome Web 检查器网络选项卡中隐藏扩展资源?