这段代码应在将消息输入到JavaScript控制台时在WhatsApp Web中发送一条消息,但始终显示undefined
。
如何防止这种情况?
function whatsAppText(t) {
window.InputEvent = window.Event || window.InputEvent;
var d = new Date();
var event = new InputEvent('input', {bubbles: true});
var textbox = document.querySelector('#main > footer > div.block-compose > div.input-container > div > div.input');
textbox.textContent = t;
textbox.dispatchEvent(event);
document.querySelector('.icon.btn-icon.icon-send.send-container').click()
}
答案 0 :(得分:1)
那是因为您仅定义一个函数而不执行它。在声明该函数之后,您必须在某个地方调用该函数:
whatsAppText('This should work!');
答案 1 :(得分:1)
控制台将报告表达式的 返回 值。如果函数执行有意义的操作,但不返回任何内容,则执行该函数将不返回任何内容,因此为undefined
。
这里是一个例子:
function foo(){
document.body.innerHTML = "<p>I did some work, but I didn't return a value.</p>";
}
console.log(foo()); // undefined
相对于:
function foo(){
return "I did some work, and I did return a value.";
}
console.log(foo()); // "I did some work, and I did return a value."
但是,如果您要做的只是将功能输入到控制台中,甚至没有调用它,那将不会返回任何内容,控制台将报告undefined
。根据显示的代码,即使您随后使用whatsAppText("test")
调用函数, 您的函数也会执行 并发送消息,但是您没有将功能设置为 返回 的任何内容,因此 您仍然会看到 {{1 }}。