【问题标题】:Trigger keypress through URL通过 URL 触发按键
【发布时间】:2018-06-28 07:42:05
【问题描述】:

有没有一种方法可以在 URL 中包含按键?我们有一个用例,当用户在键盘上按下“i”时,网页会显示一个附加信息窗格。我们希望默认显示此附加信息窗格,而无需用户按“i”键。

只需访问此 URL,就会自动触发按下“i”键并默认显示信息窗格。有没有办法构造这样的 URL?

编辑:为了更清楚,请注意我们不控制此处的相关网页。我们只是向我们的用户提供一个 URL,例如 www.google.com,访问它并按“i”取消隐藏信息窗格类。我们希望通过为用户提供一个自动触发按键事件的 URL 来避免让用户按下“i”,类似于 www.google.com?&keypress=i。

【问题讨论】:

标签: html


【解决方案1】:

为什么不调用类似 onLoad 的方法:

var keyboardEvent = document.createEvent("KeyboardEvent");
var initMethod = typeof keyboardEvent.initKeyboardEvent !== 'undefined' 
? "initKeyboardEvent" : "initKeyEvent";


keyboardEvent[initMethod](
               "keydown", // event type : keydown, keyup, keypress
                true, // bubbles
                true, // cancelable
                window, // viewArg: should be window
                false, // ctrlKeyArg
                false, // altKeyArg
                false, // shiftKeyArg
                false, // metaKeyArg
                40, // keyCodeArg : unsigned long the virtual key code, 
else 0
                0 // charCodeArgs : unsigned long the Unicode character 

//    associated with the depressed key, else 0
);
document.dispatchEvent(keyboardEvent);

将所有这些都包装在 onLoad 调用中,您将能够在页面加载时进行按键操作。确保将 40 替换为 'i' 的 keyCode。

sn-p 取自here

【讨论】:

  • 进一步编辑了我的问题。我们不控制网页上的任何代码。我们能做的最多就是附加到可以在页面加载时自动触发按键事件的 URL。
  • 我猜这是可能的边界,但是,可能会有其他方式。我看了stackoverflow.com/questions/4163879/…,根据这个链接上面的方法是行不通的。
  • 最好选择像 chrome 扩展这样的东西,它可以控制页面行为。
猜你喜欢
  • 1970-01-01
  • 2012-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多